中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

HIVE中left semi join怎么用

發布時間:2021-12-10 14:13:10 來源:億速云 閱讀:495 作者:小新 欄目:大數據

這篇文章主要介紹了HIVE中left semi join怎么用,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

 實驗:
hive> select * from b1;
OK
1       003     20170511
1       004     20170512
1       005     20170513
2       006     20170514
3       007     20170515
Time taken: 0.041 seconds
hive> select * from b2;
OK
1       005     20170513
2       006     20170514
3       007     20170515
Time taken: 0.049 seconds
hive> select * from b1 a left outer join b2 b on a.id=b2.id; ----左邊表的數據都列出來了,如果右邊表沒有對應的列,則寫成了NULL值。如果左邊的主鍵在右邊找到了N條,那么結果也是會叉乘得到N條。hive不支持’left join’的寫法。
OK
1       003     20170511        1       005     20170513
1       004     20170512        1       005     20170513
1       005     20170513        1       005     20170513
2       006     20170514        2       006     20170514
3       007     20170515        3       007     20170515
hive> select * from b1  left semi join b2  on b1.id=b2.id; ---在關聯字段b2表里有的,b1表都展現出來,如果主鍵在右邊表中存在,則打印,否則過濾掉,相當于in
OK
1       003     20170511
1       004     20170512
1       005     20170513
2       006     20170514
3       007     20170515
hive> select * from b1 left outer join b2 on b1.id=b2.id and b1.dat=b2.dat;  
OK
1       003     20170511        NULL    NULL    NULL
1       004     20170512        NULL    NULL    NULL
1       005     20170513        1       005     20170513
2       006     20170514        2       006     20170514
3       007     20170515        3       007     20170515

hive> select * from b1 left semi join b2 on b1.id=b2.id and b1.dat=b2.dat;---在b2表有的都展現出來
OK
1       005     20170513
2       006     20170514
3       007     20170515

再如:
hive> select * from b1;
OK
1       003     20170511
1       004     20170512
1       005     20170513
2       006     20170514
3       007     20170515
4       008     20170518
Time taken: 0.042 seconds
hive> select * from b2;
OK
1       005     20170513
2       006     20170514
3       007     20170515
Time taken: 0.053 seconds

hive> select * from b1 left outer join b2 on b1.id=b2.id and b1.dat=b2.dat;
OK
1       003     20170511        NULL    NULL    NULL
1       004     20170512        NULL    NULL    NULL
1       005     20170513        1       005     20170513
2       006     20170514        2       006     20170514
3       007     20170515        3       007     20170515
4       008     20170518        NULL    NULL    NULL
hive> select * from b1 left semi join b2 on b1.id=b2.id and b1.dat=b2.dat;---更能證明只展現關聯條件在右表有的數據,相當于in
OK
1       005     20170513
2       006     20170514
3       007     20170515


        hive不支持’left join’的寫法;
        hive的left outer join:如果右邊有多行和左邊表對應,就每一行都映射輸出;如果右邊沒有行與左邊行對應,就輸出左邊行,右邊表字段為NULL;
        hive的left semi join:相當于SQL的in語句,結果沒有右表數據。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“HIVE中left semi join怎么用”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

聂拉木县| 东莞市| 吴旗县| 鄂伦春自治旗| 太谷县| 灵石县| 富平县| 耒阳市| 象山县| 定边县| 龙江县| 定安县| 龙山县| 汶川县| 河北区| 黄石市| 平遥县| 云安县| 师宗县| 亚东县| 沭阳县| 牡丹江市| 兰考县| 永川市| 镇原县| 精河县| 武邑县| 镇巴县| 鄢陵县| 文安县| 邢台县| 琼结县| 义乌市| 双柏县| 朝阳区| 皋兰县| 吉水县| 永寿县| 嘉荫县| 祁东县| 岐山县|