HiveQL选择在具有分区的外部表上不能按预期工作

时间:2015-12-15 18:24:09

标签: hive hiveql

当我在我创建的自定义外部表上使用select语句时,我遇到了问题。在使用add partition命令创建年月和日表后,我已为此表添加了分区。

我面临的问题是,我在这个选择语句中只有一行,其中day = 1,其中我预计5行会持续5天。

select * from test_data where key = 'AX001';

对于这些陈述中的每一个,我都会得到一个结果。

select * from test_data where key = 'AX001' and day = 2;
select * from test_data where key = 'AX001' and day = 3;

但是为了这个,我只得到一行= day。

select * from test_data where key = 'AX001' and day in (2,3);

知道这种行为可能是什么原因?

1 个答案:

答案 0 :(得分:0)

这里的解决方案显然Hive MapReduce job splitting up files,这是我遇到的另一个问题

select * from test_table where key = 'AX001' and day in (1,2,3);

set hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat; 
select * from test_table where key = 'AX001' and day in (1,2,3);

set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat;
select * from test_table where key = 'AX001' and day in (1,2,3);

只有最后一个给了我3个结果。前两个只返回两行。