Sqoop 抽數的並行化主要涉及到兩個參數:num-mappers:啟動N個map來並行導入數據,默認4個;
split-by:按照某一列來切分表的工作單元。
split切分算法默認是根據主鍵來的:比如map 個數為4,取 ( 主鍵最大值 - 主鍵最小值 )/ map 數量 ,這就分成了 4份,如果主鍵分布不均,那么就會出現數據傾斜。
解決方法
通過ROWNUM() 生成一個嚴格均勻分布的字段,然后指定為分割字段
Sqoop 抽數的並行化主要涉及到兩個參數:num-mappers:啟動N個map來並行導入數據,默認4個;
split-by:按照某一列來切分表的工作單元。
split切分算法默認是根據主鍵來的:比如map 個數為4,取 ( 主鍵最大值 - 主鍵最小值 )/ map 數量 ,這就分成了 4份,如果主鍵分布不均,那么就會出現數據傾斜。
通過ROWNUM() 生成一個嚴格均勻分布的字段,然后指定為分割字段
本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。