Spark sql 資料傾斜解決

2021-09-27 05:59:47 字數 404 閱讀 4560

一次資料查詢,簡單的表關聯,在某個stage 長時間running

檢視spark ui ,發現 兩階段 inputsize 相差巨大,有明顯資料傾斜

解決:其中乙個表為維度表,資料量較小考慮 提供map join 判斷閥值

set spark.sql.autobroadcastjointhreshold = 838861000;

提高廣播表的大小,適當犧牲空間換查詢效能,

set spark.sql.shuffle.partitions = 1000;

提高shuffle 階段task數量。

查詢從 10+min ————》 1 min 20s

什麼是資料傾斜,怎麼解決資料傾斜?

相信很多接觸mapreduce的朋友對 資料傾斜 這四個字並不陌生,那麼究竟什麼是資料傾斜?又改怎樣解決這種該死的情況呢?何為資料傾斜?正常的資料分布理論上都是傾斜的,就是我們所說的2 8原理 80 的財富集中在20 的人手中,80 的使用者只使用20 的功能,20 的使用者貢獻了80 的訪問量,不...

解決資料傾斜問題

方法 解決資料傾斜問題 解決方法1.user id為空的不參與關聯,例如 1 2 3 4 5 6 7 8 9 select fromlog a joinbmw users b ona.user idisnotnull anda.user id b.user id unionall select fr...

Hive資料傾斜解決

什麼是資料傾斜?簡單來說資料傾斜就是資料的key的分化嚴重不均,造成一部分資料很多,一部分資料很少的局面。資料傾斜產生的原因是什麼?舉個 word count 的入門例子,它的map 階段就是形成 aaa 1 的形式,然後在reduce 階段進 行 value 相加,得出 aaa 出現的次數。若進行...