为管道配置环境版本

Important

SDP 的环境版本为 Beta 版

环境版本会锁定 Python 语言版本,以及可供您的管道中的 Python 代码使用的一组预安装 Python 库。 添加到管道中的任何外部依赖项,都是在此基础上叠加的。

环境版本将管道所用的 Python 运行时与管道所运行的 Databricks Runtime 版本解耦。 设置环境版本时,Databricks Runtime 升级不会更改Python语言版本或预安装的库版本。 Python运行时也与使用相同环境版本的无服务器作业和笔记本保持一致。 若要查找 Lakeflow Spark 声明性管道的当前 Databricks Runtime 版本,请参阅 Lakeflow Spark 声明性管道发行说明和发布升级过程

Important

具有环境版本的管道通过 Spark Connect 运行Python代码。 Spark Connect 更改管道代码的行为。 在现有管道上启用环境版本之前,请参阅 环境版本兼容性 ,了解限制、行为更改、兼容性扫描和迁移工作流。

Requirements

环境版本具有以下要求:

  • 管道必须使用 Unity Catalog。 不支持 Hive 元存储管道。

支持的环境版本

SDP 支持无服务器和经典计算上的环境版本 34 。 有关每个版本中可用的Python语言版本和预安装Python库的完整列表,请参阅 环境版本参考

在管道上启用环境版本

可以通过管道编辑器 UI、管道 REST API 或 声明性自动化捆绑包配置环境版本。

在管道上启用环境版本之前,请记住 检查与 Spark Connect 的兼容性

通过 UI 启用

  1. 在管道编辑器中,单击 “设置”。
  2. “管道环境”下,选择 “铅笔”图标。编辑环境
  3. 从下拉列表中选择环境版本。
  4. 保存管道设置。

“管道环境” 部分中添加的外部依赖项分层在所选环境版本随附的库之上。 请参阅 管理管道的 Python 依赖项

通过 API 启用

Pipelines REST API 在创建和更新管道时接受 environment 块。 必须为 工作区启用个人访问令牌身份验证。

若要创建包含环境版本的管道,请执行以下操作:

curl --request POST \
  --url 'https://<workspace-host>/api/2.0/pipelines' \
  --header 'Authorization: Bearer <personal-access-token>' \
  --header 'Content-Type: application/json' \
  --data-raw '{
    "name": "<pipeline-name>",
    "catalog": "<catalog>",
    "schema": "<schema>",
    "channel": "CURRENT",
    "environment": {
      "environment_version": "4",
      "dependencies": [
        "simplejson==3.19.*"
      ]
    }
  }'

若要在现有管道上设置环境版本,请发送相同的 environment 代码块以及 PUT /api/2.0/pipelines/<pipeline-id>

通过声明式自动化捆绑包实现启用

使用声明性自动化捆绑创建管道时,可以在管道的 YAML 定义中设置环境版本。

  1. 请确保 Databricks CLI 版本为 v0.294.0 或更高版本。 如果没有,请遵循 安装指南进行升级。
  2. 按照 管道捆绑包教程 创建捆绑包。
  3. 在你的包中找到 pipeline YAML 文件,通常为 <bundle-folder>/resources/<pipeline_name>_pipeline.yml
  4. 在管道 YAML 中设置 environment_versiondependencies 字段:
resources:
  pipelines:
    my_pipeline:
      name: my_pipeline
      catalog: ${var.catalog}
      schema: ${var.schema}
      root_path: '../src/my_pipeline'
      libraries:
        - glob:
            include: ../src/my_pipeline/transformations/**
      environment:
        environment_version: 4
        dependencies:
          - --editable ${workspace.file_path}

检查管道中的环境版本

检查管道中是否配置了环境版本:

  • UI:打开管道设置并检查 管道环境 部分,或在 JSON 面板中查看 environment.environment_version 字段。
  • API:在响应中调用 GET /api/2.0/pipelines/<pipeline-id> 并查找 environment.environment_version
  • 事件日志:检查 environment_version 字段的 create_update 事件。

在管道上禁用环境版本

通过管道设置中的“管道环境”部分删除环境版本,或者从 environment_version API 或捆绑定义中的块中删除environment字段。

删除环境版本后,管道将返回到其以前的Python运行时配置。

另请参阅