Hive IN子句功能梳理

来源:互联网 发布:自动抢火车票软件 编辑:程序博客网 时间:2024/05/22 00:55

Hive 0.13.0之前的IN clause中只能包含常量:

SELECT a.key,a.valueFROM aWHERE a.key <span style="font-family: Arial, Helvetica, sans-serif;">in (1,2,3)</span>

Hive 0.13.0实现了IN子句中的uncorrelated subquery:

SELECT a.key, a.valueFROM aWHERE a.key <span style="font-family: Arial, Helvetica, sans-serif;">in (SELECT b.key FROM b)</span>

当然,还可以这样写:

SELECT a.key, a.valFROM a LEFT SEMI JOIN b ON (a.key = b.key)


Hive IN子句的correlated subquery依然没有实现。JIRA中的issue仍处于open状态。


另外,还有一个与IN子句相关的BUG,在刚开始使用IN子句的时候会让人摸不着头脑。

这个BUG在hive 1.2.0中才解决。


相关的HIVE JIRA:

  1. HIVE-784 Support uncorrelated subqueries in the WHEREclause
  2. HIVE-9734Correlatingexpression cannot contain unqualified column references
  3. HIVE-1799Support correlated subqueries in the WHERE clause

0 0
原创粉丝点击