Hive选择WHERE元组IN数组条件

时间:2013-10-11 11:24:36

标签: sql hive

很简单。

SELECT something FROM table WHERE (a,b) IN ((a_1,b_1),...,(a_n,b_n))

这适用于MySQL,但在Hive中不起作用。有解决方法吗?我试过像

这样的东西
WHERE array_contains(array(array(a_1,b_1),...,array(a_n,b_n)), array(a,b))

但是array_contains似乎只适用于基本类型。

编辑:对于记录,(a,b)在我的特定情况下是(年,月,日)所以我理论上可以利用日期函数,但是,我认为这有点奇怪这是不受支持的。

1 个答案:

答案 0 :(得分:0)

确定到目前为止我找到的唯一解决方法是

WHERE ((a=a_1 AND b=b_1) OR ... OR (a=a_n AND b=b_n))

这很好,因为它会自动生成,但是仍然可以拥有上述功能......