spark.databricks.delta.snapshotPartitions 配置在 Delta Lake 中的用途是什么?
what is spark.databricks.delta.snapshotPartitions configuration used for in delta lake?
我在穿越 delta lake 时遇到了一个配置 spark.databricks.delta.snapshotPartitions 但是不太确定它的用途是什么?在 delta lake 文档中也找不到这个。
在 delta lake 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
Delta Lake 使用 Spark 处理 _delta_log
目录中的事务日志。当 Delta Lake 加载事务日志时,它会重放日志以生成 table 的当前状态,称为 Snapshot
。这一步有一个repartition操作。您可以使用 spark.databricks.delta.snapshotPartitions
来配置在 repartition
操作中使用多少个分区。当您的 table 元数据增长时,您可能需要增加此配置,以便 table 元数据的每个分区都可以放入执行程序内存中。
我在穿越 delta lake 时遇到了一个配置 spark.databricks.delta.snapshotPartitions 但是不太确定它的用途是什么?在 delta lake 文档中也找不到这个。
在 delta lake 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
Delta Lake 使用 Spark 处理 _delta_log
目录中的事务日志。当 Delta Lake 加载事务日志时,它会重放日志以生成 table 的当前状态,称为 Snapshot
。这一步有一个repartition操作。您可以使用 spark.databricks.delta.snapshotPartitions
来配置在 repartition
操作中使用多少个分区。当您的 table 元数据增长时,您可能需要增加此配置,以便 table 元数据的每个分区都可以放入执行程序内存中。