我正在尝试在Hive中创建一个带有tblproperties的外部表。表已创建,但不显示行。有任何想法吗?请在下面找到我正在使用的脚本:
提前感谢您的时间和建议。
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");
答案 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
然后重新启动受影响的服务。这将以递归方式读取所有数据。