管线属性参考文档

管道 JSON 配置设置和表属性参考。 有关使用这些属性和配置的更多详细信息,请参阅以下文章:

Lakeflow 管道配置和 Apache Spark™ 声明性管道

Lakeflow 管道基于 Apache Spark™ 声明性管道(SDP)构建。 管道配置主要是 SDP 项目规范的超集。 指出了 SDP 和 Lakeflow 管道之间的属性使用情况差异。 有关 Lakeflow 管道和 SDP 共享的功能的比较,请参阅 Apache Spark 声明性管道

管道配置

  • id

    类型:string

    此管道的全局唯一标识符。 该标识符由系统分配,不可更改。

    仅 Lakeflow 管道。 SDP 不分配管道标识符

  • name

    类型:string

    此管道的用户友好名称。 该名称可用于标识 UI 中的管道作业。

    在 SDP 中作为必填 name 字段提供

  • configuration

    类型:object

    要添加到运行管道的群集的 Spark 配置的可选设置列表。 这些设置由管道运行时读取,并可用于通过 Spark 配置进行管道查询。

    必须将元素的格式设置为 key:value 对的形式。

    在 SDP 中作为 configuration

  • parameters

    类型:object

    Important

    此功能在 Beta 版中。 工作区管理员可以从 预览 页控制对此功能的访问。 请参阅 Manage Azure Databricks 预览版

    管道源代码可以使用 命名参数 语法(例如, :source_catalog)引用的键值对的可选映射。 使用参数可在环境或数据集之间重复使用相同的管道源代码,而无需编辑源。

    键可以包含字母数字字符、下划线(_)、连字符(-)和句点(.)。 值始终是字符串。

    可以在启动更新、作业中的管道任务或推送作业参数时重写这些默认值。 只能从 SQL 源代码引用管道参数。

    仅 Lakeflow 管道

  • libraries

    类型:array of objects

    包含管道代码和所需工件的代码文件的数组。

    在 SDP 中可用,指定为 libraries源文件 glob 模式列表,而不是代码文件对象的数组

  • clusters

    类型:array of objects

    要运行管道的群集的规范数组。

    如果未指定,则管道会自动为管道选择默认群集配置。

    仅 Lakeflow 管道。 SDP 不管理计算

  • development

    类型:boolean

    一个标志,指示是要在 development 还是 production 模式下运行管道。

    默认值为 false

    仅 Lakeflow 管道

  • notifications

    类型:array of objects

    在管道更新完成、因可重试错误而失败、因不可重试错误而失败或流失败时用于电子邮件通知的可选规范数组。

    仅 Lakeflow 管道

  • continuous

    类型:boolean

    一个指示是否连续运行管道的标志。

    默认值为 false

    仅 Lakeflow 管道

  • catalog

    类型:string

    管道的默认目录的名称,其中发布了管道的所有数据集和元数据。 设置此值可为管道启用 Unity Catalog 功能。

    如果保留未设置,则管道将使用 storage 中指定的位置发布到旧的 Hive 元存储。

    在遗留发布模式下,指定包含目标架构的目录,其中发布了来自当前管道的所有数据集。 请参阅 LIVE 架构(旧版)。

    在 SDP 中作为 catalog

  • schema

    类型:string

    管道的默认架构的名称,其中默认发布管道的所有数据集和元数据。 请参阅 设置目标目录和数据库架构

    在 SDP 中 database可用,该别名也接受别名 schema

  • target(旧版)

    类型:string

    管道的默认架构的名称,其中默认发布管道的所有数据集和元数据。 使用 schema 而不是 target 首选。

    仅 Lakeflow 管道

  • storage(旧版)

    类型:string

    DBFS 或云存储上用于存储管道执行所需的输出数据和元数据的位置。 表和元数据存储在此位置的子目录中。

    storage如果未指定设置,则系统默认为 中的dbfs:/pipelines/一个位置。

    创建管道后无法更改 storage 设置。

    在 SDP 中作为必填 storage 字段提供。 在 Lakeflow 管道中, storage 是旧设置

  • channel

    类型:string

    要使用的管道运行时的版本。 支持的值包括:

    • preview:使用即将对运行时版本进行的更改来测试管道。
    • current,使用当前运行时版本。

    channel 字段为可选。 默认值为 current。 Databricks 建议将当前运行时版本用于生产工作负载。

    仅 Lakeflow 管道

  • edition

    类型 string

    要运行管道的产品版本。 此设置让你可以根据管道的要求选择最佳产品版本:

    • CORE,用于运行流式处理引入工作负载。
    • PRO,用于运行流式处理引入和更改数据捕获 (CDC) 工作负载。
    • ADVANCED 用于运行流式摄取工作负载、CDC 工作负载,以及需要通过标准来强制实施数据质量约束的工作负载。

    edition 字段为可选。 默认值为 ADVANCED

    仅 Lakeflow 管道

  • photon

    类型:boolean

    一个指示是否使用 Photon 是什么? 来运行管道的标志。 Photon 是 Azure Databricks 高性能 Spark 引擎。 已启用 Photon 的管道的费率不同于非 Photon 管道。

    photon 字段为可选。 默认值为 false

    仅 Lakeflow 管道

  • serverless

    类型:boolean

    指示管道是否使用无服务器计算的标志。 请参阅 配置无服务器管道

    仅 Lakeflow 管道

  • event_log

    类型:object

    管道事件日志目标的配置,作为对象namecatalog,以及schema将事件日志发布到 Unity 目录表的字段。 请参阅 管道事件日志

    仅 Lakeflow 管道

  • tags

    类型:object

    管道的用户定义标记的可选映射。 最多可以添加 25 个标记。

    仅 Lakeflow 管道

  • budget_policy_id

    类型:string

    要应用于此管道的无服务器预算策略的 ID,用于将无服务器使用情况归因于成本跟踪。 仅当你显式设置策略时,此字段才会出现在 JSON 或 YAML 配置中。 如果未设置,Azure Databricks会自动解析默认策略。 解析的策略显示在管道设置 UI 中,但不会写入 JSON 或 YAML 配置。

    仅 Lakeflow 管道

  • root_path

    类型:string

    管道的根路径。 设置后,在执行Python源文件时,会将此目录添加到sys.path其中,因此可以相对于它导入模块。

    仅 Lakeflow 管道

  • environment

    类型:object

    用于安装管道Python依赖项的环境规范。

    仅 Lakeflow 管道

  • pipelines.maxFlowRetryAttempts

    类型:int

    如果在管道更新期间发生可重试失败,则这是在管道更新失败之前重试流的最大次数。

    使用此方法可以绑定单个流重试,该流容易出现可重试失败,因此无法停止整个更新。

    默认值:两次重试尝试。 发生可重试失败时,管道运行时尝试运行流三次,包括原始尝试。

    仅 Lakeflow 管道

  • pipelines.numUpdateRetryAttempts

    类型:int

    如果在更新过程中发生可重试故障,那么在永久停止尝试更新之前,这是最大重试次数。 重试作为完整更新运行。

    使用此方法对整个更新进行绑定重试,因此停滞的更新会永久失败,而不是无限期重试。

    此参数仅适用于使用 自动重试和重启行为的管道。 对于从编辑器运行或运行 Validate 更新时,不会尝试临时更新重试。

    默认值:

    • 五个用于触发的管道。
    • 持续管道不受限制。

    仅 Lakeflow 管道

管道表属性

除了 Delta Lake 支持的表属性外,还可以设置以下表属性。

  • pipelines.autoOptimize.zOrderCols

    默认值:无

    一个可选的字符串,包含一个以逗号分隔的列名列表,用于对该表进行 z 排序。 例如: pipelines.autoOptimize.zOrderCols = "year,month"

    Databricks 建议使用液体聚类分析,而不是 Z 排序来优化管道表中的数据布局。 若要让 Databricks 自动选择和维护聚类分析列,请使用CLUSTER BY AUTOcluster_by_auto=TruePython)。 请参阅对表使用 liquid 聚类分析

    仅 Lakeflow 管道

  • pipelines.reset.allowed

    默认值:true

    控制是否允许对此表进行完全刷新。

    在 SDP 中作为 pipelines.reset.allowed

  • pipelines.autoOptimize.managed

    默认值:true

    启用或禁用此表的自动计划优化。

管道触发器间隔

可以为整个管道或数据集声明的一部分指定管道触发器间隔。 请参阅设置连续管道的触发间隔

  • pipelines.trigger.interval

    默认值基于流类型:

    • 对于流式处理查询为 5 秒。
    • 当所有输入数据来自 Delta 源时,一分钟即可完成查询。
    • 某些数据源可能是非Delta时,完成查询需要10分钟。

    该值是一个数字加上时间单位。 以下是有效的时间单位:

    • secondseconds
    • minuteminutes
    • hourhours
    • daydays

    定义值时可以使用单数或复数单位,例如:

    • {"pipelines.trigger.interval" : "1 hour"}
    • {"pipelines.trigger.interval" : "10 seconds"}
    • {"pipelines.trigger.interval" : "30 second"}
    • {"pipelines.trigger.interval" : "1 minute"}
    • {"pipelines.trigger.interval" : "10 minutes"}
    • {"pipelines.trigger.interval" : "10 minute"}

    仅 Lakeflow 管道

非用户可设置的群集属性

由于管道管理群集生命周期,因此许多群集设置由系统设置,不能由用户手动配置,无论是在管道配置中还是在管道使用的群集策略中。 下表列出了这些设置以及它们无法手动设置的原因。

仅 Lakeflow 管道。 SDP 不管理计算,因此这些群集属性不适用

  • cluster_name

    SDP 设置用于运行管道更新的群集的名称。 这些名称无法替代。

  • data_security_mode

    access_mode

    这些值由系统自动设置。

  • spark_version

    SDP 群集在 Databricks Runtime 的自定义版本上运行,该版本会不断更新以包含最新功能。 Spark 版本与 Databricks Runtime 版本捆绑在一起,无法替代。

  • autotermination_minutes

    由于 SDP 管理群集自动终止和重用逻辑,因此无法重写群集自动终止时间。

  • runtime_engine

    尽管可以通过为管道启用 Photon 来控制此字段,但无法直接设置此值。

  • effective_spark_version

    系统会自动设置此值。

  • cluster_source

    此字段由系统设置,是只读的。

  • docker_image

    由于 SDP 管理群集生命周期,因此不能对管道群集使用自定义容器。

  • workload_type

    此值由系统设置,不能被替代。

源和查询选项

某些数据引入和处理行为是在数据源或查询上配置的,而不是管道属性。 其中包括架构演变、架构提示和推理、引入速率限制和文件筛选。 若要对其进行配置,请使用 read_files自动加载程序的选项。 有关架构演变,from_json请参阅在管道中使用推理和改进架构from_json