Hive笔记之JOIN的左外链接和右外链接
一? 為什么要用左外表或者右外表
hive中對(duì)多個(gè)表聯(lián)合操作時(shí),總是按照從左到右順序執(zhí)行,.因?yàn)閔ive在對(duì)每行記錄進(jìn)行 操作時(shí),它會(huì)嘗試將較小的表緩存起來(lái),然后掃描最大的那張表.因此需要保證在連續(xù)查詢中的表的大小從左往右依次增加,否則當(dāng)數(shù)據(jù)的量很大時(shí),會(huì)大大降低hive的執(zhí)行的性能.
幸運(yùn)的是用戶并非總是將最大的表放置在查詢語(yǔ)句的最后面,只需用左外表或者右外表加以說(shuō)明即可,
二 作用:
左外表或者右外表:功能很簡(jiǎn)單:當(dāng)hive聯(lián)合查詢多個(gè)表時(shí),告訴其那邊 的是最大表.
如左外表:即是左邊的為最大表?? 而右外表則是右邊的表的為最大表
三 使用格式:
他們與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;
總結(jié)
以上是生活随笔為你收集整理的Hive笔记之JOIN的左外链接和右外链接的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: mysql自增_面试官:为什么 MySQ
- 下一篇: java的帮助文档(API)