本文提供了有关 Azure Databricks 中的 DLT JSON 设置规范和表属性的参考。 若要更详细地了解如何使用这些不同的属性和配置,请参阅以下文章:
DLT 管道配置
领域 |
---|
id 类型: string 此管道的全局唯一标识符。 该标识符由系统分配,不可更改。 |
name 类型: string 此管道的用户友好名称。 该名称可用于标识 UI 中的管道作业。 |
configuration 类型: object 要添加到运行管道的群集的 Spark 配置中的可选设置列表。 这些设置由 DLT 运行时读取,可用于通过 Spark 配置进行管道查询。 必须将元素的格式设置为 key:value 对的形式。 |
libraries 类型: array of objects 包含管道代码和所需项目的笔记本的数组。 |
clusters 类型: array of objects 要运行管道的群集的规范数组。 如果未指定此设置,管道将自动选择管道的默认群集配置。 |
development 类型: boolean 一个指示是否在其中运行管道的标志 development 或 production 模式。默认值为 true |
notifications 类型: array of objects 在管道更新完成、因可重试错误而失败、因不可重试错误而失败或流失败时用于电子邮件通知的可选规范数组。 |
continuous 类型: boolean 一个指示是否连续运行管道的标志。 默认值是 false 。 |
catalog 类型: string 管道的默认目录的名称,其中发布了管道的所有数据集和元数据。 设置此值可为管道启用 Unity Catalog 功能。 如果保留未设置,则管道将使用 storage 中指定的位置发布到旧的 Hive 元存储。在遗留发布模式下,指定包含目标架构的目录,其中发布了来自当前管道的所有数据集。 请参阅 LIVE 架构(旧版)。 |
schema 类型: string 管道的默认架构的名称,其中默认发布管道的所有数据集和元数据。 请参阅 设置目标目录和数据库架构。 |
target (旧版)类型: string 发布在当前管道中定义的所有数据集的目标架构的名称。 设置 target 而不是 schema 将管道配置为使用旧版发布模式。 请参阅 LIVE 架构(旧版)。 |
storage (旧版)类型: string DBFS 或云存储上用于存储管道执行所需的输出数据和元数据的位置。 表和元数据存储在此位置的子目录中。 如果未指定 storage 设置,系统默认将使用 dbfs:/pipelines/ 中的某个位置。创建管道后无法更改 storage 设置。 |
channel 类型: string 要使用的 DLT 运行时版本。 支持的值包括:
channel 字段为可选。 默认值为current 。 Databricks 建议将当前运行时版本用于生产工作负载。 |
edition 类型 string 用于运行管道的 DLT 产品版本。 此设置让你可以根据管道的要求选择最佳产品版本:
edition 字段为可选。 默认值为ADVANCED 。 |
photon 类型: boolean 一个指示是否使用 Photon 是什么? 来运行管道的标志。 Photon 是 Azure Databricks 高性能 Spark 引擎。 已启用 Photon 的管道的费率不同于非 Photon 管道。 photon 字段为可选。 默认值是 false 。 |
pipelines.maxFlowRetryAttempts 类型: int 如果在管道更新期间发生可重试失败,则这是在管道更新失败之前重试流的最大次数 默认值:两次重试尝试。 发生可重试失败时,DLT 运行时会尝试运行流三次,其中包括最初的尝试。 |
pipelines.numUpdateRetryAttempts 类型: int 如果在更新过程中发生可重试故障,那么在永久停止尝试更新之前,这是最大重试次数。 重试作为完整更新运行。 此参数仅适用于在生产模式下运行的管道。 如果管道在开发模式下运行或当你在运行 Validate 更新时,则不会尝试重试。默认值:
|
DLT 表属性
除了 Delta Lake 支持的表属性外,还可以设置以下表属性。
表属性 |
---|
pipelines.autoOptimize.zOrderCols 默认值:无 一个可选的字符串,包含一个以逗号分隔的列名列表,用于对该表进行 z 排序。 例如: pipelines.autoOptimize.zOrderCols = "year,month" |
pipelines.reset.allowed 默认值: true 控制是否允许对此表进行完全刷新。 |
pipelines.autoOptimize.managed 默认值: true 启用或禁用此表的自动计划优化。 |
管道触发间隔
可以为整个 DLT 管道或数据集声明的一部分指定管道触发器间隔。 请参阅设置连续管道的触发间隔。
pipelines.trigger.interval |
---|
默认值基于流类型:
该值是一个数字加上时间单位。 以下是有效的时间单位:
定义值时可以使用单数或复数单位,例如:
|
不可由用户设置的群集属性
由于 DLT 管理群集生命周期,因此许多群集设置由 DLT 设置,用户不能在管道配置或管道使用的群集策略中手动配置。 下表列出了这些设置以及它们无法手动设置的原因。
领域 |
---|
cluster_name DLT 设置用于运行管道更新的群集的名称。 这些名称无法替代。 |
data_security_mode access_mode 这些值由系统自动设置。 |
spark_version DLT 群集在 Databricks Runtime 的自定义版本上运行,该版本会不断更新以包含最新功能。 Spark 版本与 Databricks Runtime 版本捆绑在一起,无法替代。 |
autotermination_minutes 由于 DLT 管理群集自动终止和重用逻辑,因此无法重写群集自动终止时间。 |
runtime_engine 尽管可以通过为管道启用 Photon 来控制此字段,但无法直接设置此值。 |
effective_spark_version 系统会自动设置此值。 |
cluster_source 此字段由系统设置,是只读的。 |
docker_image 由于 DLT 管理群集生命周期,因此不能将自定义容器用于管道群集。 |
workload_type 此值由系统设置,不能被替代。 |