我正穿过三角洲湖,遇到了一个配置spark.databricks.delta.snapshotPartitions,但是不确定这是做什么用的?在三角洲湖泊文档中也找不到此内容。
在三角洲湖github中找到了以下代码,但不确定该属性如何工作
val DELTA_SNAPSHOT_PARTITIONS =
buildConf("snapshotPartitions")
.internal()
.doc("Number of partitions to use when building a Delta Lake snapshot.")
.intConf
.checkValue(n => n > 0, "Delta snapshot partition number must be positive.")
.createOptional
答案 0 :(得分:0)
Delta Lake使用Spark处理_delta_log
目录中的事务日志。 Delta Lake加载事务日志时,它将重播日志以生成表的当前状态,称为Snapshot
。此步骤中有一个repartition操作。您可以使用spark.databricks.delta.snapshotPartitions
来配置repartition
操作中要使用的分区数。当表元数据增长时,您可能需要增加此配置,以便可以将表元数据的每个分区放入执行程序内存中。