關於hive中Map join 時大表left join小表的問題


在hive中,(啟用Map join時) 大表left join小表,加載從右向左,所以小表會加載進內存,存儲成map鍵值對,通過大表驅動小表,來進行join,即大表中的join字段作為key 來獲取value進行join。

在MySQL中,left join加載從左向右,即join左邊的表會先加載進內存,與右邊表進行join。

mapjoin時要讓小表進內存,大表進內存的話可能會因為過大的原因,導致mapjoin無法實現,從而轉為reduce join。

MySQL跟hive加載順序不同。

最先加載的是驅動表,最好是小表。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM