SparkSQL將小檔案合併

2021-10-05 12:28:13 字數 535 閱讀 7268

1、設定配置

spark.

sql(

"set hive.exec.dynamic.partition=true"

) spark.

sql(

"set hive.exec.dynamic.partition.mode=nonstrict"

) spark.

sql(

"set spark.sql.shuffle.partitions=1"

)//優化,防止生成很多的小檔案

2、進行insert into 將tmp裡的很多小檔案進行合併,合併到test中

def mergetest

(spark: sparksession, iscluster: int)

: unit =

由於資料量本身不是特別大,所以直接採用了group by(在spark中屬於寬依賴)的方式。 這裡必須要加入group by。 否則算是窄依賴, 設定了合併引數也是無效的。

Spark Sql 小檔案問題

參考 使用spark sql apis 處理資料容易產生生成大量小檔案,小檔案問題也是在分布式計算中常見的問題。一般有三種方法來處理這類問題 spark.sql.shuffle.partitions 引數通過在處理joins 或 aggregations 等shuffle操作來控制輸出的分割槽數。可...

sparksql壓縮小檔案

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

hive小檔案合併機制 Hive小檔案合併遷移

1 需求 2 小檔案合併 我們通過sparksql進行小檔案合併,首先開啟spark shell申請足夠多的資源 spark shell master yarn driver memory 20g driver cores 4 executor cores 6 num executors 18 ex...