0

我有一个蜂巢查询

select * from tbl where month(dt) = '06' and year(dt) = '2011'

我想知道如果我同时加入年份和月份并为其添加新的udf是否会有任何好处,

select * from tbl where yearMonth(dt) = '201106'

我是 Hive 的新手,因此非常欢迎任何关于我是否需要使用新 UDF 的想法。

hive 是否按顺序执行结果,第一个过滤器使用 2011 并在该结果过滤器中使用 06?

4

1 回答 1

0

映射器应该在一个步骤中对数据执行两个过滤器。
您可以随时使用该explain语句检查这一点。
如果您通常按年和月过滤,则应考虑在这些列上对表进行分区。这样映射器将只读取相关分区而不是整个表。

于 2013-07-12T12:58:23.067 回答