线上环境的Delta Lake数据湖小文件太多了怎么办?

提问者:帅平 问题分类:大数据
线上环境的Delta Lake数据湖使用了快1年了,经过了各种增量更新,有很多小文件,影响了查询效率,请问可以压缩吗? 怎么弄?
1 个回答
养猪发家致富
养猪发家致富
使用如下代码:
val conf = new SparkConf()
conf.set("spark.sql.extensions", "io.delta.sql.DeltaSparkSessionExtension")
conf.set("spark.sql.catalog.spark_catalog", "org.apache.spark.sql.delta.catalog.DeltaCatalog")
val session = SparkSession.builder().appName("DeltaLakeDemo").master("local[1]").config(conf).getOrCreate();
val df = session.read.parquet("deltalakefile/data/")
df.repartition(1).write.format("delta").mode("overwrite").save("deltalakefile/data/")
df.show()
session.conf.set("spark.databricks.delta.retentionDurationCheck.enabled", "false")
DeltaTable.forPath("deltalakefile/data/").vacuum()
发布于:2年前 (2022-12-19) IP属地:四川省
青山依旧
青山依旧
主要是利用spark的repartition,重新生成一个新的文件,然后把老的文件给删除掉
发布于:2年前 (2022-12-19) IP属地:四川省
我来回答