遵循此链接中编写的代码。 https://gist.github.com/Zifah/ba0c3771069a11ba53969b000b038b82/revisions
它创建了很多临时文件。请帮忙。
这是运行任何 Spark 作业来创建这些文件时的预期行为。
启用 DBIO 事务提交后,以start和commit开头的元数据文件将伴随 Apache Spark 作业创建的数据文件。通常,不应直接更改这些文件。相反,请使用 VACUUM 命令来清理文件。
以下三个属性的组合将有助于禁用写入所有以"_"开头的事务文件。
- 我们可以禁用火花镶木地板写入的事务日志
spark.sql.sources.commitProtocolClass = org.apache.spark.sql.execution.datasources.SQLHadoopMapReduceCommitProtocol
这将有助于禁用已提交和已启动的文件,但仍会生成_SUCCESS、_common_metadata和_metadata文件。
- 我们可以通过以下方式禁用_common_metadata和_metadata文件
parquet.enable.summary-metadata=false
- 我们也_SUCCESS可以使用
mapreduce.fileoutputcommitter.marksuccessjobs=false
有关更多详细信息,请参阅"使用 DBIO 对云存储进行事务性写入"和"停止 Azure Databricks 自动创建文件"和"如何防止写入输出中_success和_committed文件?"。
希望这有帮助。如果您有任何其他疑问,请告诉我们。