2012-08-13 115 views
2

我知道Hive for Hadoop不支持不等式連接。不過,我有一個似乎運行正常的查詢。至於結果是否正確,我很懷疑,因爲我有一位同事與我分享了這個結果,發現它沒有產生正確的結果。HiveQL不等式加入

這就是:

select foo.id, count(foo.*) as foo_vol, count(bar.*) as bar_vol 
from foo 
left outer outer join bar 
    on foo.id = bar.id 
    and (bar.f2 in (x, y, z)) = FALSE 
group by foo.id 

任何人有,爲什麼這說明什麼想法和運行正常?不平等聯合問題實際上與標準是否使用來自聯接兩側的字段有關?有FB/apache確認這種類型的查詢會產生錯誤的結果?

乾杯的任何幫助, 馬特

回答

1

IN最好的我的理解您的查詢確實eque加入:foo.id = bar.id
條件:(在(X,Y,Z bar.f2 ))= FALSE僅應用於條形表,不應被視爲連接的一部分。
配置單元在表格字段中放置不相等的條件沒有限制。

+0

感謝大衛,是的,我明白你的意思,因爲聲明僅適用吧......我想如果這樣的表達是像foo.id 2012-08-15 09:11:59