我使用flume将数据写入hdfs,路径如/hive/logs/dt=20151002
。然后,我使用hive选择数据,但响应计数始终为0.
这是我的create table sql,CREATE EXTERNAL TABLE IF NOT EXISTS test (id STRING) partitioned by (dt string) ROW FORMAT DELIMITED fields terminated by '\t' lines terminated by '\n' STORED AS TEXTFILE LOCATION '/hive/logs'
这是我的选择sql,select count(*) from test
答案 0 :(得分:1)
您似乎没有在hive元存储中注册分区。 尽管hdfs路径中存在分区,但如果未在元存储中注册,Hive将不会知道它。要注册它,您可以执行以下操作:
ALTER TABLE test ADD PARTITION(dt ='20151002')location'/ hive / logs / dt = 20151002';