Spark Sql 小檔案問題

2021-10-05 01:36:38 字數 787 閱讀 8595

參考:

使用spark sql apis 處理資料容易產生生成大量小檔案,小檔案問題也是在分布式計算中常見的問題。一般有三種方法來處理這類問題:

spark.sql.shuffle.partitions 引數通過在處理joins 或 aggregations 等shuffle操作來控制輸出的分割槽數。

可以在spark-submit 提交任務時通過 --conf 來指定

coalesce(num) 通過對資料集再分割槽控制輸出分割槽數

spark sql adaptive execution 是spark 2.3.0 版本後新增的

spark sql自適應框架可以通過設定spark shuffle partition的上限和下限對不同作業不同階段的 reduce 個數進行動態調整;同時也可以通過引數對 joins 和 資料傾斜問題進行優化

spark sql adaptive execution引數:

控制併發度

joins 優化策略:

資料傾斜:

SparkSQL將小檔案合併

1 設定配置 spark.sql set hive.exec.dynamic.partition true spark.sql set hive.exec.dynamic.partition.mode nonstrict spark.sql set spark.sql.shuffle.partiti...

sparksql壓縮小檔案

set spark.sql.shuffle.partitions 2 set spark.sql.adaptive.enabled true set spark.sql.adaptive.shuffle.targetpostshuffleinputsize 268435456 insert over...

小檔案問題

5.2 小檔案問題 小檔案是指檔案size小於hdfs上block大小的檔案。這樣的檔案會給hadoop的擴充套件性和效能帶來嚴重問題。首先,在hdfs中,任何block,檔案或者目錄在記憶體中均以物件的形式儲存,每個物件約佔150byte,如果有1000 0000個小檔案,每個檔案占用乙個bloc...