在hive中,(啟用Map join時) 大表left join小表,加載從右向左,所以小表會加載進內存,存儲成map鍵值對,通過大表驅動小表,來進行join,即大表中的join字段作為key 來獲取value進行join。
在MySQL中,left join加載從左向右,即join左邊的表會先加載進內存,與右邊表進行join。
mapjoin時要讓小表進內存,大表進內存的話可能會因為過大的原因,導致mapjoin無法實現,從而轉為reduce join。
MySQL跟hive加載順序不同。
最先加載的是驅動表,最好是小表。