パイプラインの環境バージョンを構成する

Important

Lakeflow Spark 宣言パイプライン (SDP) の環境バージョンは ベータ版です

環境バージョンでは、Python言語バージョンと、パイプラインのPython コードで使用できるプレインストールPython ライブラリのセットがピン留めされます。 パイプラインに追加するすべての外部依存関係は、このベースの上に階層化されます。

環境バージョンでは、パイプラインのPython ランタイムが、パイプラインが実行されている Databricks Runtime バージョンから切り離されます。 環境バージョンが設定されている間、Databricks Runtime のアップグレードでは、Python言語バージョンやプレインストールされているライブラリバージョンは変更されません。 Python ランタイムは、同じ環境バージョンを使用するサーバーレス ジョブとノートブックとも一致します。 Lakeflow Spark 宣言パイプラインの現在の Databricks ランタイム バージョンについては、 Lakeflow Spark 宣言型パイプラインのリリース ノートとリリース アップグレード プロセスに関するページを参照してください。

Important

環境バージョンを使用するパイプラインは、Spark Connect を介して Python コードを実行します。 Spark Connect は、パイプライン コードの動作を変更します。 既存のパイプラインで環境バージョンを有効にする前に、 環境バージョンの互換性 に関する制限事項、動作の変更、互換性スキャン、移行ワークフローを参照してください。

Requirements

環境のバージョンには、次の要件があります。

  • パイプラインでは Unity カタログを使用する必要があります。 Hive メタストア パイプラインはサポートされていません。

サポートされている環境のバージョン

SDP では、サーバーレス コンピューティングとクラシック コンピューティングの両方で環境バージョン 34 がサポートされています。 Python言語バージョンと、各バージョンで使用可能なプレインストールされているPython ライブラリの完全な一覧については、environment バージョン リファレンスを参照してください。

パイプラインで環境バージョンを有効にする

環境バージョンは、パイプライン エディター UI、Pipelines 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. バンドル内のパイプライン YAML (通常は <bundle-folder>/resources/<pipeline_name>_pipeline.yml) を見つけます。
  4. パイプライン YAML の environment_version フィールドと dependencies フィールドを設定します。
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: パイプライン設定を開き 、[Pipeline Environment]\(パイプライン環境 \) セクションを確認するか、json ペインで environment.environment_version フィールドを調べます。
  • API: GET /api/2.0/pipelines/<pipeline-id> を呼び出し、応答で environment.environment_version を探します。
  • イベント ログ: create_update フィールドのenvironment_version イベントを検査します。

パイプラインで環境バージョンを無効にする

パイプライン設定の [パイプライン環境] セクションで環境バージョンを削除するか、API またはバンドル定義の environment_version ブロックから environment フィールドを削除します。

環境バージョンが削除されると、パイプラインは以前のPythonランタイム構成に戻ります。

その他のリソース

  • 環境バージョンの互換性 — 制限事項、動作の変更、互換性スキャン、移行ワークフロー。
  • パイプラインの依存関係Pythonを管理します。外部Pythonの依存関係は、環境バージョンの上に重ねて配置されます。