0

很简单。

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) 在我的特定情况下是 (year,month,day) 所以我理论上可以利用日期函数,但我仍然认为不支持这有点奇怪。

4

1 回答 1

0

好的,到目前为止我发现的唯一解决方法是

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

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

于 2013-10-11T12:05:13.427 回答