为什么hive在使用分区时无法从hdfs中选择数据?

时间:2015-10-03 01:24:47

标签: hive hdfs flume

我使用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

1 个答案:

答案 0 :(得分:1)

您似乎没有在hive元存储中注册分区。 尽管hdfs路径中存在分区,但如果未在元存储中注册,Hive将不会知道它。要注册它,您可以执行以下操作:

  

ALTER TABLE test ADD PARTITION(dt ='20151002')location'/ hive / logs / dt = 20151002';