Delta Lake 0.7.0 发布
作者:Denny Lee
主要功能
我们很高兴地宣布,Delta Lake 0.7.0 已在 Apache Spark 3.0 上发布。这是 Spark 3.x 上的第一个版本,增加了对元数据存储定义表和 SQL DDL 的支持。此版本中的主要功能如下。
- 支持在 Hive 元数据存储中定义表 (#85) - 您现在可以在 Hive 元数据存储中定义 Delta 表,并在所有 SQL 操作中使用表名。具体来说,我们增加了对以下功能的支持:
- 支持 SQL Delete、Update 和 Merge - 借助 Spark 3.0,您现在可以使用 SQL DML 操作
DELETE
、UPDATE
和MERGE
。请参阅文档以获取详细信息。 - 支持自动和增量 Presto/Athena 清单生成 (#453) - 您现在可以使用
ALTER TABLE SET TBLPROPERTIES
来启用在 Delta 表上的每次操作时自动重新生成 Presto/Athena 清单文件。此重新生成是增量的,即清单文件仅针对已由操作更新的分区进行更新。请参阅文档以获取详细信息。 - 支持控制表历史记录的保留时间 - 您现在可以使用
ALTER TABLE SET TBLPROPERTIES
来配置 Delta 表中表历史记录和删除文件的维护时间。请参阅文档以获取详细信息。 - 支持在 Delta 表提交中添加用户定义元数据 - 您现在可以通过任何操作将用户定义元数据作为字符串添加到对 Delta 表的提交中。对于
DataFrame.write
和DataFrame.writeStream
操作,您可以设置选项userMetadata
。对于其他操作,您可以设置 SparkSession 配置spark.databricks.delta.commitInfo.userMetadata
。请参阅文档以获取详细信息。 - 支持 Azure Data Lake Storage Gen2 (#288) - Spark 3.0 支持 Hadoop 3.2 库,这使得支持 Azure Data Lake Storage Gen2 成为可能。请参阅文档以获取有关如何使用正确版本的 Spark 和 Hadoop 库配置 Delta Lake 以支持 Azure 存储系统的详细信息。
- 改进了对流式一次性触发器的支持 - 借助 Spark 3.0,我们现在确保 一次性触发器(也称为
Trigger.Once
)即使在通过DataStreamReader
选项maxFilesPerTrigger
设置了速率限制的情况下,也能在单个微批处理中处理 Delta 表中的所有未完成数据。
由于内部发生重大变化,使用 DeltaTable
编程 API 的先前版本的 Delta 上的工作负载可能需要额外更改才能迁移到 0.7.0。请参阅迁移指南以获取详细信息。
致谢
Alan Jin、Alex Ott、Burak Yavuz、Jose Torres、Pranav Anand、QP Hou、Rahul Mahadev、Rob Kelly、Shixiong Zhu、Subhash Burramsetty、Tathagata Das、Wesley Hoffman、Yin Huai、Youngbin Kim、Zach Schuermann、Eric Chang、Herman van Hovell、Mahmoud Mahdi
感谢您的贡献。
请访问发行说明了解有关此版本的更多信息。