パイプラインの Python 依存関係を管理する
LakeFlow Pipelinesは、パイプラインで外部依存関係をサポートします。Databricksは、Pythonパッケージをインストールするために2つのパターンのいずれかを使用することを推奨しています。
- 環境 設定を使用して、パイプライン内のすべてのソース ファイルのパッケージをパイプライン環境に追加します。
- ワークスペース ファイルに格納されているソース コードからモジュールまたはライブラリをインポートします。 Git フォルダーまたはワークスペース ファイルからの Python モジュールのインポートを参照してください。
クラシックコンピュートを使用するパイプラインも、クラスタースコープのinitスクリプトをサポートしています。serverless Lakeflow pipelinesはinitスクリプトをサポートしていません。すべての場合において、Databricksはinitスクリプトではなく 環境 設定を使用することを推奨します。これは、外部依存関係、特にinitスクリプトがランタイムアップグレードにおける問題のリスクを高めるためです。処理にinitスクリプトが必要な場合、問題を早期に検出するためにパイプラインのテストを自動化し、Databricksはテスト頻度を増やすことを推奨します。
パイプラインではJVMライブラリはサポートされていないため、initスクリプトを使用してJVMライブラリをインストールしないでください。ただし、Python ライブラリなどの他の種類のライブラリは、initスクリプトを使用してインストールできます。
Pythonライブラリ
外部 Python ライブラリを指定するには、パイプラインの環境を編集します。
- パイプライン エディターから、 [設定] をクリックします。
- パイプライン環境 で、
編集環境 。
- クリック
依存関係を追加します 。
- 依存関係の名前を入力します。Databricks では、ライブラリのバージョンを固定することをお勧めします。たとえば、
simplejsonバージョン 3.19 への依存関係を追加するには、「simplejson==3.19.*と入力します。
/Volumes/my_catalog/my_schema/my_ldp_volume/ldpfns-1.0-py3-none-any.whlなどのパスを指定して、 Unity CatalogボリュームからPython wheelパッケージをインストールすることもできます。
パイプラインでは、dbutils.library.restartPython() を使用した Python プロセスの手動での再起動はサポートされていません。すべての Pythonの依存関係は、ランタイム時にインストールまたは再ロードするのではなく、「環境」設定で宣言してください。**環境**設定を使用すると、パイプラインは、実行のたびにライブラリを再インストールするのではなく、キャッシュされたライブラリを複数回の実行にわたって再利用できるようになります。
環境バージョン
defaultでは、パイプラインで利用できるPython言語のバージョンとプリインストールされているライブラリセットは、現在のDatabricks Runtimeチャンネルバージョンから提供されます。現在のバージョンおよびランタイムごとのパッケージリストについては、LakeFlow Pipelinesリリースノートとリリースアップグレードプロセスを参照してください。
ベータ版
この機能はベータ版です。ワークスペース管理者は、 プレビュー ページからこの機能へのアクセスを制御できます。Databricksのプレビューを管理するを参照してください。
Databricks Runtimeアップグレードとは別にPython言語バージョンとプレインストールされたライブラリ セットをピン留めするには、パイプラインで環境バージョンを構成します。 環境バージョンが設定されている場合、Databricks RuntimeのアップグレードによってPython言語バージョンやプリインストールされているライブラリバージョンは変更されず、 環境 設定を通じて追加した外部依存関係はすべてこのベースの上に構築されます。パイプラインの環境バージョンを設定するを参照してください。
Scala と Java のライブラリのサポート
いいえ、パイプラインはSQLとPythonのみをサポートします。パイプラインではJVMライブラリを使用できません。JVMライブラリをインストールすると、予期しない動作が発生し、将来のLakeFlow Pipelinesのリリースで中断する可能性があります。パイプラインがinitスクリプトを使用する場合、JVMライブラリがスクリプトによってインストールされていないことも確認する必要があります。