Delta Lake 提供纯 Scala\Java\Python 操作 API,和 Flink 整合更加容易

最近,Delta Lake 发布了一项新功能,也就是支持直接使用 Scala、Java 或者 Python 来查询 Delta Lake 里面的数据,这个是不需要通过 Spark 引擎来实现的。Scala 和 Java 读取 Delta Lake 里面的数据是通过 Delta Standalone Reader[1] 实现的;而 Python 则是通过 Delta Rust API[2] 实现的。Delta Lake 是一个开源存储层,为数据湖带来了可靠性。Delta Lake 提供 ACID 事务、可扩展的元数据处理,并统一流数据和批数据处理。其完全兼容 Apache Spark™ 的 API。该项目已经部署在数千个组织中,每周处理超过 EB 级别的数据,成为数据和 AI 架构中不可或缺的一部分。在 Databricks 平台中,超过75%的数据都在 Delta Lake 中。

当前,Delta lake 除了能够使用 Apache Spark 读取,还支持 Amazon Redshift、Redshift Spectrum、Athena、Presto 以及 Hive,更多这方面的信息可以参见 Delta Lake 集成。这篇文章中我将介绍如何使用纯 Scala、Java 或者 Python 来读取 Delta Lake 里面的数据。

Delta Standalone Reader

Delta Standalone Reader (下文简称 DSR) 是一个 JVM 类库,它允许你在不使用 Apache Spark 的情况下读取 Delta Lake 表。也就是说,它可以被任何不能运行 Spark 的应用程序使用。创建 DSR 的动机是为了更好地与 Presto、Athena、Redshift Spectrum、Snowflake 和 Apache Hive 等系统集成。对于 Apache Hive,里面就是使用了 DSR 来实现读取 Delta Lake 表的。有了这个 API,通过 Apache Flink 读取 Delta Lake 表也不是事了。

为了在 Java 或 Scala 中使用 DSR,我们需要 JDK 8 或以上版本,Scala 版本为 2.11 或者 2.12;同时还需要在项目中加入以下依赖:

<dependency>
  <groupId>io.delta</groupId>
  <artifactId>delta-standalone_2.12</artifactId>
  <version>0.2.0</version>
</dependency>
<dependency>
  <groupId>org.apache.hadoop</groupId>
  <artifactId>hadoop-client</artifactId>
  <version>2.7.2</version>
</dependency>
<dependency>
  <groupId>org.apache.parquet</groupId>
  <artifactId>parquet-hadoop</artifactId>
  <version&
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值