Azure Databricks 中所有包含 Delta 的技术名称是什么意思?

本文介绍 Azure Databricks 中统称为 Delta 的技术。 Delta 是指与 Delta Lake 开源项目相关或其中涵盖的技术。

本文将会解答:

  • Azure Databricks 中的 Delta 技术有哪些?
  • 他们要执行哪些操作? 或者它们有哪些作用?
  • 它们彼此之间存在哪种关系和差别?

Delta 技术有哪些作用?

增量是随增量湖(在 Databricks 湖屋中存储数据和表的基础)引入的术语。 可以将 Delta Lake 视为一个统一的数据管理系统,它使用用于 ACID 事务和可缩放元数据处理的基于文件的事务日志扩展 Parquet 数据文件,可以处理事务实时数据和批量大数据。

Delta Lake:湖屋的 OS 数据管理

Delta Lake 是一个开源存储层,它通过在云存储(在 AWS S3、Azure 存储和 GCS 上)中存储的数据顶层添加一个事务存储层,来实现数据湖的可靠性。 它允许使用 ACID 事务、数据版本控制和回滚功能。 它允许以统一的方式处理批量数据和流数据。

Delta 表是基于此存储层生成的,它提供表抽象,让用户可以方便地使用 SQL 和数据帧 API 处理大规模的结构化数据。

Delta 表:默认的数据表体系结构

Delta 表是 Azure Databricks 中的默认数据表格式,并且是 Delta Lake 开源数据框架的一项功能。 Delta 表通常用于数据湖,其中的数据通过流式处理或大型批引入。

请参阅:

增量实时表:数据管道

增量实时表管理许多 Delta 表之间的数据流,从而简化数据工程师 ETL 开发和管理方面的工作。 该管道是增量实时表中的主要执行单元。 增量实时表提供声明性管道开发、更高的数据可靠性,以及云规模生产操作。 用户可以对同一表执行批处理和流式处理操作,且数据可立即用于进行查询。 你定义要对数据执行的转换,而增量实时表管理任务业务流程、群集管理、监视、数据质量和错误处理。 增量实时表增强型自动缩放可以处理流式处理工作负载,此类负载不可预测,且会出现高峰。

请参阅 Delta Live Tables 教程

增量表与增量实时表

增量表是一种将数据存储在表中的方法,而增量实时表则支持用户以声明的方式描述这些表之间数据如何流动。 增量实时表是一种声明性框架,通过创建增量表并使其保持最新状态来管理许多增量表。 简言之,增量表是一种数据表体系结构,而增量实时表则是一种数据管道框架。

Delta:开源还是专有技术?

Azure Databricks 平台的一项优势在于,它不会限制客户使用专有的工具:大多数技术由 Azure Databricks 贡献的开源项目提供支持。

示例包括 Delta OSS 项目:

增量实时表是 Azure Databricks 中的专有框架。

Azure Databricks 中还有其他哪些 Delta 技术?

下面是名称中包含 Delta 的其他功能的说明。

增量共享

增量共享是一套旨在确保安全实现数据共享的开放标准,能够让使用不同计算平台的组织彼此之间实现数据共享。

Delta 引擎

用于处理大数据的查询优化器,使用 Databricks 中包含的 Delta Lake 开源技术。 Delta 引擎通过将计算推送到数据来优化 Spark SQL、Databricks SQL 和数据帧操作的性能。

Delta Lake 事务日志(也称为 DeltaLog)

用于跟踪用户对表所做的所有更改的单一事实源,以及供 Delta Lake 用来保证原子性的机制。 请参阅 GitHub 上的 Delta 事务日志协议

事务日志是理解 Delta Lake 的关键所在,因为它是贯穿其许多最重要功能的常用主线:

  • ACID 事务
  • 可缩放元数据处理
  • 按时间顺序查看
  • 等等。