了解 Delta Lake

已完成

Delta Lake 是一个开源存储层,它将关系数据库语义添加到基于 Spark 的数据湖处理中。 适用于 PySpark、Scala 和 .NET 代码的 Azure Synapse Analytics Spark 池支持 Delta Lake。

在 Synapse Analytics Spark 池中使用 Delta Lake 的好处包括:

  • 支持查询和数据修改的关系表。 使用 Delta Lake,可以将数据存储在支持 CRUD(创建、读取、更新和删除)作的表中。 换句话说,可以采用与在关系数据库系统中相同的方式选择、插入、更新和删除数据行。
  • 支持 ACID 事务。 关系数据库旨在支持事务数据修改,这些修改提供原子性(事务作为单个工作单元完成)、一致性(事务使数据库保持一致状态)、隔离(进行中的事务不能相互干扰)和持久性(事务完成时,它所做的更改将保留)。 Delta Lake 通过实现事务日志并强制实施并发操作的可序列化隔离,为 Spark 提供相同的事务支持。
  • 数据版本控制和按时间顺序查看。 由于所有事务都记录在事务日志中,因此可以跟踪每个表行的多个版本,甚至使用按时间顺序查看功能在查询中检索某行的先前版本。
  • 支持批处理和流式处理数据。 虽然大多数关系数据库包括存储静态数据的表,但 Spark 包含通过 Spark 结构化流式处理 API 流式处理数据的本机支持。 Delta Lake 表可用作流式处理数据的接收器(目标)和源。
  • 标准格式和互操作性。 Delta Lake 表的基础数据以 Parquet 格式存储,通常用于 Data Lake 引入管道。 此外,还可以使用 Azure Synapse Analytics 中的无服务器 SQL 池来查询 SQL 中的 Delta Lake 表。

小提示

有关 Azure Synapse Analytics 中的 Delta Lake 的详细信息,请参阅 Azure Synapse Analytics 文档中 什么是 Delta Lake