宣言型パイプラインの Python 依存関係 LakeFlow 管理
LakeFlow 宣言型パイプラインは、パイプライン内の外部依存関係をサポートします。 Databricks では、Python パッケージをインストールするために、次の 2 つのパターンのいずれかを使用することをお勧めします。
%pip install
コマンドを使用して、パイプライン内のすべてのソース ファイルのパッケージをインストールします。- ワークスペース ファイルに格納されているソース コードからモジュールまたはライブラリをインポートします。 Git フォルダーまたはワークスペース ファイルからの Python モジュールのインポートを参照してください。
LakeFlow 宣言型パイプラインは、グローバルおよびクラスタースコープの initスクリプトの使用もサポートしています。 ただし、これらの外部依存関係、特にinitスクリプトは、ランタイムアップグレードで問題が発生するリスクを高めます。 これらのリスクを軽減するには、パイプラインでのinitスクリプトの使用を最小限に抑えます。 処理にinitスクリプトが必要な場合は、パイプラインのテストを自動化して問題を早期に検出します。 initスクリプトを使用する場合は、テストの頻度を増やすことを Databricksでは お勧めします。
JVM ライブラリは LakeFlow 宣言型パイプラインではサポートされていないため、initスクリプトを使用してライブラリをインストールしJVMないでください。ただし、 Python ライブラリなどの他の種類のライブラリは、initスクリプトを使用してインストールできます。
Python ライブラリ
外部の Python ライブラリを指定するには、 %pip install
マジック コマンドを使用します。更新が開始されると、 LakeFlow 宣言型パイプラインは、テーブル定義を実行する前に、 %pip install
コマンドを含むすべてのセルを実行します。 パイプラインに含まれるすべての Python ノートブックは、ライブラリ環境を共有し、インストールされているすべてのライブラリにアクセスできます。
%pip install
コマンドは、ノートブックの上部にある別のセルに配置する必要があります。%pip install
コマンドを含むセルには、他のコードを含めないでください。- パイプライン内のすべてのノートブックはライブラリ環境を共有するため、1 つのパイプラインで異なるライブラリ バージョンを定義することはできません。 処理に異なるライブラリバージョンが必要な場合は、それらを異なるパイプラインで定義する必要があります。
次の例では、 numpy
ライブラリをインストールし、パイプライン内の任意の Python ノートブックでグローバルに使用できるようにします。
%pip install simplejson
Python wheel パッケージをインストールするには、Python wheel のパスを %pip install
コマンドに追加します。 インストールされた Python wheel パッケージは、パイプライン内のすべてのテーブルで使用できます。 次の例では、Python wheel ボリュームからdltfns-1.0-py3-none-any.whl
という名前のUnity Catalog ファイルをインストールします。
%pip install /Volumes/my_catalog/my_schema/my_dlt_volume/dltfns-1.0-py3-none-any.whl
%pip
と一緒に Python wheel パッケージをインストールするを参照してください。
Scala ライブラリや Java ライブラリを LakeFlow 宣言型パイプラインで使用できますか?
いいえ、 LakeFlow 宣言型パイプラインは SQL と Pythonのみをサポートします。 パイプラインで JVM ライブラリを使用することはできません。JVM ライブラリをインストールすると、予期しない動作が発生し、将来の LakeFlow 宣言型パイプラインのリリースで中断する可能性があります。パイプラインでinitスクリプトを使用する場合は、 JVM ライブラリがスクリプトによってインストールされていないことも確認する必要があります。