欢迎关注大数据技术架构与案例微信公众号:过往记忆大数据
过往记忆博客公众号iteblog_hadoop
欢迎关注微信公众号:
过往记忆大数据

Delta Lake 1.0.0 发布,多项新特性重磅发布

赶在 Data + AI Summit 2021 之前,Delta Lake 1.0.0 重磅发布,这个版本是基于 Spark 3.1 的,带来了许多新特性。本文将结合 Michael Armbrust 大牛在 Data + AI Summit 2021 的演讲《Announcing Delta Lake 1.0》来介绍 Delta Lake 1.0.0 版本的一些重要的新特性。


如果想及时了解Spark、Hadoop或者HBase相关的文章,欢迎关注微信公众号:过往记忆大数据

Delta Lake 0.1 自 2019年4月开源以来,到现在已经2年了。每个版本都给我们带来了一些比较重要的特性。


如果想及时了解Spark、Hadoop或者HBase相关的文章,欢迎关注微信公众号:过往记忆大数据

目前,数砖的产品每天有超过1EB的数据是从 Delta Lake 上扫描的,占据所有数据扫描的75%,有超过3k的客户在生成环境上使用 Delta Lake。


如果想及时了解Spark、Hadoop或者HBase相关的文章,欢迎关注微信公众号:过往记忆大数据

上面是 Delta Lake 1.0.0 版本比较重要的功能:

  • 列生成(Generated Columns)
  • 支持多集群写(Multi cluster writes)
  • 云存储独立(Cloud independence)
  • 支持 Spark 3.1
  • 支持 PyPi 安装

Generated Columns


如果想及时了解Spark、Hadoop或者HBase相关的文章,欢迎关注微信公众号:过往记忆大数据

在我们的业务中,我们业务可能只是生成时间戳的数据,比如上面的 eventTime,但是我们又想以分区的数据来组织数据,如果直接使用 eventTime 的话会导致分区过多的问题,一种办法是添加一个 eventDate 字段。这种办法可以解决问题,但是有以下几个问题:

  • 需要人工的添加字段;
  • 需要在查询中指定这个过滤条件;
  • 可能忘记加这个字段而出现错误或导致性能问题。

如果想及时了解Spark、Hadoop或者HBase相关的文章,欢迎关注微信公众号:过往记忆大数据

为了解决上面那个问题,Delta Lake 引入了 Generated Columns 的功能。这是一种特殊类型的列,它的值是根据用户指定的函数在 Delta 表中的其他列上自动生成的。我们可以使用 Apache Spark 中的大多数内置 SQL 函数来生成这些生成列的值。例如,可以从时间戳列自动生成日期列;对表的任何写入只需要为时间戳列指定数据。

值得注意的是,字节跳动的郭俊在2019年09月给 Spark 社区提了一个类似的功能,参见 SPARK-29031

简化存储配置


如果想及时了解Spark、Hadoop或者HBase相关的文章,欢迎关注微信公众号:过往记忆大数据

Delta Lake 现在可以自动加载正在被读写的 Delta 表的公共存储系统所需的正确 LogStore。如果用户在 AWS S3, Azure blob stores, 和 HDFS 上运行 Delta Lake,则不再需要显式配置 LogStore 实现。这还允许同一个应用程序同时读写不同云存储系统上的 Delta 表。Delta 表路径的 scheme 用于动态加载必要的LogStore 实现。注意,使用上面列出的存储系统之外的其他存储系统仍然需要显式配置。

支持多种引擎多种语言读写 Delta 表


如果想及时了解Spark、Hadoop或者HBase相关的文章,欢迎关注微信公众号:过往记忆大数据

Delta Lake 现在允许我们以编程方式直接创建新的 Delta 表(Scala、Java 和 Python),而无需使用 DataFrame API。社区引入了新的 DeltaTableBuilder 和 DeltaColumnBuilder API 来实现所有可以通过 SQL 完成的操作。

支持 PyPI 方式来安装 Delta

我们现在可以通过 PyPI 来安装 Delta Lake,如下:

pip install delta-spark

然后可以通过下面代码访问 Delta Lake 表信息:

from deltalake import DeltaTable

dt = DeltaTable("$/iteblog/delta/data/")
dt.version()
dt.files()

更多关于 Delta Lake 1.0.0 的发布信息可以参见 Delta Lake 1.0.0 Released

本博客文章除特别声明,全部都是原创!
原创文章版权归过往记忆大数据(过往记忆)所有,未经许可不得转载。
本文链接: 【Delta Lake 1.0.0 发布,多项新特性重磅发布】(https://www.iteblog.com/archives/9973.html)
喜欢 (0)
分享 (0)
发表我的评论
取消评论

表情
本博客评论系统带有自动识别垃圾评论功能,请写一些有意义的评论,谢谢!