CREATE EXTERNAL TABLE IF NOT EXISTS LOGS (LGACT STRING,NTNAME STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
LOCATION '/user/hive/warehouse/LOGS/test';
在'测试'文件夹下,我每天写文件。例如:
/user/hive/warehouse/LOGS/test/20170420
/user/hive/warehouse/LOGS/test/20170421
/user/hive/warehouse/LOGS/test/20170422
在我创建的logs表中看不到任何数据。
但是,我使用
LOCATION '/user/hive/warehouse/LOGS/test/20170422';
我可以看到那些天的记录。
我想查看配置单元表中/test目录下的所有数据,而且/test目录每天都会填充新文件。
2条答案
按热度按时间aor9mmx11#
方案1
为了支持子目录
如果您的配置单元版本低于2.0.0,那么
方案2
创建分区表
如果使用标准约定保存目录,那么管理起来会更容易。
dt=2017-04-20
而不是20170420
93ze6v8z2#
默认情况下,配置单元只读取外部表中指定位置内的文件(而不是目录)。如果要启用添加目录,请设置以下参数:
设置mapred.input.dir.recursive=true;