![](/img/trans.png)
[英]Delta Lake (OSS) Table on EMR and S3 - Vacuum takes a long time with no jobs
[英]Delta Table optimize/vacuum
我有文件由 kubernetes 作业(在 prem 上运行)以增量表的形式写入 adls gen2 容器中。(Kubernetes 上的火花,这有助于我在 adls 上编写增量表)
每小时流动的文件数量巨大(小文件+大文件),我们想要优化/清理增量表。
是否有一种自动方式/设置可以自动优化和清理增量表。
我已阅读有关自动优化的这篇文章,但仍不清楚这是否可以帮助我。
谢谢你,拉胡尔·基肖尔
链接的文章引用了 Databricks 上的 Delta 的特性,它会在写入数据时尝试生成更大的文件 - 这与 OPTIMIZE/VACUUM 的自动执行不同。
即使在 Databricks 上,您也需要显式运行 VACUUM - 只需创建一个将在选定表上执行 VACUUM 的小型 Spark 作业 - 只需按照 文档获取正确的语法和设置即可。
请注意,OPTIMIZE 仅在 Databricks 上可用,如果您使用 OSS Delta,您可以通过读取全部或部分数据来模拟它,重新分区以获得最佳文件大小并以overwrite
模式将其写回。 (仅优化部分数据时要小心 - 使用文档中所示的replaceWhere
选项)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.