Delta Lake 1.0.0 发布
主要功能
我们很高兴地宣布,基于 Apache Spark 3.1 的 Delta Lake 1.0.0 已发布。此版本的主要功能如下:
- SQL 合并操作中无限数量的
MATCHED
和NOT MATCHED
子句 - 随着升级到 Apache Spark 3.1,MERGE
SQL 命令现在支持任意数量的WHEN MATCHED
和WHEN NOT MATCHED
子句(Scala、Java 和 Python API 自 0.8.0 版(基于 Spark 3.0)以来已支持无限数量的子句)。有关更多详细信息,请参阅MERGE
文档。 - 用于创建表的新程序化 API - Delta Lake 现在允许您直接以程序化方式(Scala、Java 和 Python)创建新的 Delta 表,而无需使用 DataFrame API。我们引入了新的 DeltaTableBuilder 和 DeltaColumnBuilder API,用于指定您可以通过 SQL
CREATE TABLE
指定的所有表详细信息。有关详细信息和示例,请参阅 文档。 - 生成列的实验性支持 - Delta Lake 现在支持生成列,这是一种特殊类型的列,其值根据用户指定的 Delta 表中其他列的函数自动生成。您可以使用 Apache Spark 中大多数内置的 SQL 函数来生成这些生成列的值。例如,您可以根据时间戳列自动生成日期列(用于按日期对表进行分区);写入表时只需指定时间戳列的数据。您可以使用新的程序化 API 创建具有生成列的 Delta 表。有关详细信息,请参阅 文档。
- 简化存储配置 - Delta Lake 现在可以自动加载常用存储系统所需的正确 LogStore,这些存储系统托管着正在读取或写入的 Delta 表。如果用户在 AWS S3、Azure Blob 存储和 HDFS 上运行 Delta Lake,则不再需要显式配置 LogStore 实现。这也允许同一个应用程序同时读取和写入不同云存储系统上的 Delta 表。Delta 表路径的方案用于动态加载必要的 LogStore 实现。使用上述之外的存储系统仍然需要显式配置。有关详细信息,请参阅 存储配置 文档。
- 对其他云存储系统的实验性支持 - Delta Lake 现在对 Google Cloud Storage、Oracle Cloud Storage、IBM Cloud Object Storage 具有实验性支持。您需要添加额外的 Maven 工件
delta-contribs
才能访问与它们对应的 LogStore,并显式配置与相关路径方案对应的 LogStore 名称。有关详细信息,请参阅 存储配置 文档。此外,我们还定义了一个更稳定的 LogStore API,用于构建自定义实现。 - 用于捕获冲突引发异常的公共 API - 并发操作冲突时抛出的异常现已转换为公共 API。这允许您捕获这些异常并重试写入操作。有关详细信息,请参阅 API 文档。
- PyPI 发布 - Delta Lake 现在可以通过
pip install delta-spark
从 PyPI 安装。但是,除了 pip 安装之外,您还必须配置 SparkSession。有关详细信息,请参阅 文档。 - 其他值得注意的更改
- 新的 Maven 工件
delta-contribs
包含来自社区的贡献,这些贡献仍处于实验阶段,需要在打包到主工件delta-core
之前进行更多测试。 - UPDATE、DELETE 和 MERGE 操作的执行时间指标可在 表历史记录 中获取。
- 修复了 MERGE 操作中嵌套列模式演化中的多个错误。
- 修复了处理列名中点号的错误。
- 新的 Maven 工件
致谢
Alex Ott、Ali Afroozeh、Antonio、Bruno Palos、Burak Yavuz、Christopher Grant、Denny Lee、Gengliang Wang、Guy Khazma、Howard Xiao、Jacek Laskowski、Joe Widen、Jose Torres、Lars Kroll、Linhong Liu、Meng Tong、Prakhar Jain、Pranav Anand、R. Tyler Croy、Rahul Mahadev、Ranu Vikram、Sabir Akhadov、Shixiong Zhu、Stefan Zeiger、Tathagata Das、Tom van Bussel、Vijayan Prabhakaran、Vivek Bhaskar、Wenchen Fan、Yijia Cui、Yingyi Bu、Yuchen Huo、Brenner Heintz、fvaleye、Herman van Hovell、Liwen Sun、Mahmoud Mahdi、Sabir Akhadov、Yaohua Zhao
访问 发行说明 了解有关此版本的更多信息。