Hive笔记之JOIN的左外链接和右外链接
一? 為什么要用左外表或者右外表
hive中對多個表聯合操作時,總是按照從左到右順序執行,.因為hive在對每行記錄進行 操作時,它會嘗試將較小的表緩存起來,然后掃描最大的那張表.因此需要保證在連續查詢中的表的大小從左往右依次增加,否則當數據的量很大時,會大大降低hive的執行的性能.
幸運的是用戶并非總是將最大的表放置在查詢語句的最后面,只需用左外表或者右外表加以說明即可,
二 作用:
左外表或者右外表:功能很簡單:當hive聯合查詢多個表時,告訴其那邊 的是最大表.
如左外表:即是左邊的為最大表?? 而右外表則是右邊的表的為最大表
三 使用格式:
他們與join? .......on?? 一起使用
右外表 right outer join :
hive>??SELECT??s?.?ymd,???s?.?symbol,???s?.price_close,???d.?dividend
???>?FROM?dividends?d?RIGHT?OUTER?JOIN?stocks?s?ON?d.ymd?=?s.ymd?AND?d.?symbol=??s?.?symbol;
左外表 left? outer? join :
?SELECT??s?.?ymd,???s?,?symbolr???s?.price_close
????????>?FROM?stocks?s?LEFT?SEMI?JOIN?dividends?d?ON?s.ymd?=?d.ymd?AND?s.symbol=?d.symbol;
總結
以上是生活随笔為你收集整理的Hive笔记之JOIN的左外链接和右外链接的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql自增_面试官:为什么 MySQ
- 下一篇: java的帮助文档(API)