使用tblproperties创建Hive外部表的问题

时间:2014-07-12 00:04:57

标签: hive

我正在尝试在Hive中创建一个带有tblproperties的外部表。表已创建,但不显示行。有任何想法吗?请在下面找到我正在使用的脚本:

提前感谢您的时间和建议。

数据位于递归文件夹中:/user/test/test1/test2/samplefile.csv

use dw_raw;
drop table if exists temp_external_tab1;

create external table if not exists temp_external_tab1 (
col1 int,
col2 string,
col3 string,
col4 string
)
row format delimited fields terminated by ','
lines terminated by '\n'
stored as textfile
location '/user/test/test1/'
tblproperties ("hive.input.dir.recursive" = "TRUE", 
    "hive.mapred.supports.subdirectories" = "TRUE",
    "hive.supports.subdirectories" = "TRUE", 
    "mapred.input.dir.recursive" = "TRUE");

3 个答案:

答案 0 :(得分:3)

这些不是表格属性,而是全局设置。

您应该使用' set&#39 ;,即:

来设置它们
set hive.mapred.supports.subdirectories=true;
set mapred.input.dir.recursive=true;

答案 1 :(得分:1)

您已经创建了一个表,但没有将任何数据放入其中。尝试

hive> LOAD DATA LOCAL INPATH '/user/test/test1/test2/samplefile.csv'
      INTO TABLE temp_external_tab1;

答案 2 :(得分:1)

如果您正在使用ambari,请设置以下属性以在自定义hive-site.xml中配置高级配置。

SET hive.input.dir.recursive = TRUE

SET hive.mapred.supports.subdirectories = TRUE

SET hive.supports.subdirectories = TRUE

SET mapred.input.dir.recursive = TRUE

然后重新启动受影响的服务。这将以递归方式读取所有数据。