Hive分区表

时间:2018-05-09 15:16:01

标签: hadoop hive bigdata hadoop-partitioning

我在Hive中有一个名为“ 事务 ”的表格,该表格在名为“DS”的列上进行分区,该列的数据类似于“2018-05-05”, “2018-05-09”,“2018-05-10”等

此表格填写完整的一天。在任何时候,该表都将有数据直到前一天

当我查询像

这样的trasaction表时
SELECT COUNT(*) FROM trasaction WHERE DS >= "current date";

我得到了

0行 - 这是正确的,因为尚未为当前和未来日期加载数据

当我在查询下面运行时

SELECT DISTINCT DS FROM trasaction WHERE DS >= "current date";

我得到了

2018年5月9日
2018年5月10日
2018年5月11日
2018年5月12日
2018年5月13日
...
2018年8月30日

我已经检查了HDFS位置和分区文件夹以及将来的日期。我猜那些做ETL的人,已经使用

为未来的日期添加了分区

ALTER TABLE trasaction ADD PARTITION (DS = '2018-05-13')依此类推

我在这里做错了吗?即使两个查询的输出都是正确的,上面输出的原因是什么?

0 个答案:

没有答案