关于hive中Map join 时大表left join小表的问题
生活随笔
收集整理的這篇文章主要介紹了
关于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加載順序不同。
最先加載的是驅動表,最好是小表。
轉載于:https://www.cnblogs.com/sunpengblog/p/11311118.html
總結
以上是生活随笔為你收集整理的关于hive中Map join 时大表left join小表的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sql 语句中的 NULL值
- 下一篇: Django中过滤的实现