パイプラインの Python 依存関係を管理する
Lakeflow Spark宣言型パイプラインは、パイプラインの外部依存関係をサポートします。 Databricks では、Python パッケージをインストールするために次の 2 つのパターンのいずれかを使用することを推奨しています。
- 環境 設定を使用して、パイプライン内のすべてのソース ファイルのパッケージをパイプライン環境に追加します。
- ワークスペース ファイルに格納されているソース コードからモジュールまたはライブラリをインポートします。 Git フォルダーまたはワークスペース ファイルからの Python モジュールのインポートを参照してください。
パイプラインは、クラスタースコープのinit スクリプトの使用もサポートします。 ただし、これらの外部依存関係、特に init スクリプトにより、ランタイム アップグレードに関する問題が発生するリスクが増加します。 これらのリスクを軽減するには、パイプラインでの init スクリプトの使用を最小限に抑えます。 処理に init スクリプトが必要な場合は、パイプラインのテストを自動化し、問題を早期に検出します。 init スクリプトを使用する場合、 Databricksテストの頻度を増やすことをお勧めします。
JVMライブラリはパイプラインではサポートされていないため、init スクリプトを使用してJVMライブラリをインストールしないでください。 ただし、init スクリプトを使用して、 Pythonライブラリなどの他の種類のライブラリをインストールできます。
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パッケージをインストールすることもできます。
環境バージョン
もちろん、パイプラインで利用できるPython言語バージョンとプレインストールされたライブラリ セットは、現在のDatabricks Runtimeチャンネル バージョンからのものです。 現在のバージョンとランタイムごとのパッケージ リストについては、 LakeFlow Spark宣言型パイプライン リリース ノートとリリース アップグレード プロセスを参照してください。
ベータ版
この機能はベータ版です。ワークスペース管理者は、 プレビュー ページからこの機能へのアクセスを制御できます。Databricksのプレビューを管理するを参照してください。
Databricks Runtimeアップグレードとは別にPython言語バージョンとプレインストールされたライブラリ セットをピン留めするには、パイプラインで環境バージョンを構成します。 環境バージョンが設定されている場合、Databricks RuntimeのアップグレードによってPython言語バージョンやプリインストールされているライブラリバージョンは変更されず、 環境 設定を通じて追加した外部依存関係はすべてこのベースの上に構築されます。パイプラインの環境バージョンを設定するを参照してください。
パイプラインで Scala または Java ライブラリを使用できますか?
いいえ、パイプラインはSQLとPythonのみをサポートしています。パイプライン内でJVMライブラリを使用することはできません。 JVMライブラリをインストールすると予期しない動作が発生し、将来のLakeFlow Spark宣言型パイプライン リリースでは機能しなくなる可能性があります。 パイプラインが init スクリプトを使用している場合は、 JVMライブラリがスクリプトによってインストールされていないことも確認する必要があります。