パイプラインの環境バージョンを設定する
ベータ版
SDPの環境バージョンはベータ版です。
環境バージョンは、 Python言語バージョンと、パイプラインのPythonコードで使用できるプリインストールされたPythonライブラリのセットをピン留めします。 パイプラインに追加する外部依存関係はすべて、この基本構造の上に構築されます。
環境バージョンは、パイプラインのPythonランタイムを、パイプラインを実行するDatabricks Runtimeバージョンから分離します。 環境バージョンが設定されている場合、Databricks Runtimeのアップグレードによって、Python言語バージョンやプリインストールされているライブラリのバージョンは変更されません。Pythonランタイムは、同じ環境バージョンを使用するサーバレスジョブやノートブックとも整合性があります。 LakeFlow Spark宣言型パイプラインの現在のDatabricks Runtimeバージョンを確認するには、 LakeFlow Spark宣言型パイプライン リリースノート」と「リリース アップグレード プロセス」を参照してください。
環境バージョンを持つパイプラインは、Spark Connectを介して Python コードを実行します。Spark Connectはパイプラインコードの動作を変更します。既存のパイプラインで環境バージョンを有効にする前に、制限事項、動作の変更点、互換性スキャン、および移行ワークフローについては、 「環境バージョンの互換性」を参照してください。
要件
環境バージョンには以下の要件があります。
- パイプラインはUnity Catalog使用する必要があります。 Hive metastoreパイプラインはサポートされていません。
サポートされている環境バージョン
SDP は、サーバレスとクラシック コンピュートの両方で環境バージョン 3 と 4 を サポートします。 Python言語バージョンおよび各バージョンで利用可能なプリインストールされているPythonの全リストについては、環境バージョンのリファレンスを参照してください。
パイプラインで環境バージョンを有効にする
環境バージョンは、パイプライン エディター UI、パイプラインREST API 、または宣言型オートメーション バンドルを通じて構成できます。
パイプラインで環境バージョンを有効にする前に、 Spark Connectとの互換性を確認することを忘れないでください。
UI を介して有効化する
- パイプラインエディタから、 [設定] をクリックします。
- パイプライン環境 で、
環境を編集します 。
- ドロップダウンリストから環境バージョンを選択してください。
- パイプライン設定を保存します。
パイプライン環境 セクションで追加された外部依存関係は、選択した環境バージョンに含まれるライブラリの上に重ねて構築されます。パイプラインの Python 依存関係の管理を参照してください。
API経由で有効化する
パイプライン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.*"
]
}
}'
既存のパイプラインで環境バージョンを設定するには、 PUT /api/2.0/pipelines/<pipeline-id>とともに同じenvironmentブロックを送信します。
宣言型自動化バンドルを通じて有効化する
宣言型自動化バンドルを使用してパイプラインを作成する場合、パイプラインの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 : パイプライン設定を開いて [パイプライン環境] セクションを確認するか、 JSONパネルで
environment.environment_versionフィールドを調べます。 - API :
GET /api/2.0/pipelines/<pipeline-id>を呼び出し、レスポンスの中からenvironment.environment_versionを探してください。 - イベントログ :
create_updateイベントのenvironment_versionフィールドを調べます。
パイプラインの環境バージョンを無効にする
パイプライン設定の パイプライン環境 セクションから環境バージョンを削除するか、 APIまたはバンドル定義のenvironmentブロックからenvironment_versionフィールドを削除します。
環境バージョンが削除されると、パイプラインは以前のPythonランタイム構成に戻ります。
関連項目
- 環境バージョンの互換性― 制限事項、動作変更、互換性スキャン、および移行ワークフロー。
- パイプラインのPython依存関係を管理する— 環境バージョンの上に外部のPython依存関係を重ね合わせる。