第十章 Hive調優 【笛卡爾積】


1. 笛卡爾積
1. 觸發笛卡爾積條件
1. join 時,沒有on條件 或 on 條件無效

2. 為什么要盡量避免笛卡爾積?
hive 只會使用一個reduce來完成笛卡爾積,當數據量過大時,容易內存不足

3. 如果必須使用笛卡爾積時,可以使用MapJoin,關聯操作在Map端完成

4. 測試
      -- 1. 觸發笛卡爾積時,只會生成一個reduce
        set mapreduce.job.reduces=2;
        set mapred.job.name='one';
        set hive.auto.convert.join=false;
        select t1.*,t2.* from maptab as t1
        inner join maptab as t2
        -- on t1.name = t2.name
        ;
        Hadoop job information for Stage-1: number of mappers: 1; number of reducers: 1

 


免責聲明!

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



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