我在hadoop中有数据并使用分区(日期和小时)创建了一个外部表。表创建是好的,但是当我尝试查询数据我没有得到任何结果。使用分区创建外部
的Hadoop文件路径 - >/test/dt=2012-01-30/hr=17/testdata*
CREATE语句 - >
CREATE EXTERNAL TABLE test(adate STRING,
remoteIp STRING,
url STRING,
type STRING,
ip STRING,
useragent STRING)
COMMENT 'This is the Test view table'
PARTITIONED BY(dt STRING, hr STRING)
ROW FORMAT SERDE 'com.test.serde.ValidRawDataSerDe'
STORED AS SEQUENCEFILE
LOCATION '/test';
表创建消息 - >
OK
Time taken: 0.078 seconds
当我使用select查询即时消息没有得到结果 - >
hive> select * from test;
OK
Time taken: 0.052 seconds
hive> select * from test where dt='2008-08-09' and hr='17';
OK
我在这里失去了什么。请帮忙。
谢谢奥拉夫。你能举个例子说明上述说明如何做到这一点。 – Balaji 2012-01-31 21:32:55
我得到了查询奥拉夫。有没有办法克服“ALTER TABLE ADD PARTITION”。因为我需要总结小时和4小时的数据。我不想随时改变添加分区的表格:-( – Balaji 2012-01-31 21:48:14
@Balaji:我提到过,这可以/应该以编程方式完成,例如通过Hive JDBC? – Olaf 2012-01-31 22:27:57