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 では、サーバーレス コンピューティングとクラシック コンピューティングの両方で環境バージョン 3 と 4 がサポートされています。 Python言語バージョンと、各バージョンで使用可能なプレインストールされているPython ライブラリの完全な一覧については、environment バージョン リファレンスを参照してください。
パイプラインで環境バージョンを有効にする
環境バージョンは、パイプライン エディター UI、Pipelines REST API、または 宣言型オートメーション バンドルを使用して構成できます。
パイプラインで環境バージョンを有効にする前に、 必ず Spark Connect との互換性を確認 してください。
UI を使用して有効にする
- パイプライン エディターで、[ 設定] をクリックします。
- [ パイプライン環境] で、[
環境を編集します。
- ドロップダウン リストから環境バージョンを選択します。
- パイプラインの設定を保存します。
[パイプライン環境] セクションに追加された外部依存関係は、選択した環境バージョンに含まれるライブラリの上に階層化されます。 パイプラインの 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 定義で環境バージョンを設定できます。
- Databricks CLI が バージョン v0.294.0 以降であることを確認します。 そうでない場合は、 インストール ガイドに従ってアップグレードします。
- パイプライン バンドルのチュートリアルに従って 、バンドルを設定します。
- バンドル内のパイプライン YAML (通常は
<bundle-folder>/resources/<pipeline_name>_pipeline.yml) を見つけます。 - パイプライン 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の依存関係は、環境バージョンの上に重ねて配置されます。