メインコンテンツまでスキップ

宣言型パイプラインの Python 依存関係 LakeFlow 管理

LakeFlow 宣言型パイプラインは、パイプライン内の外部依存関係をサポートします。 Databricks では、Python パッケージをインストールするために、次の 2 つのパターンのいずれかを使用することをお勧めします。

  1. %pip install コマンドを使用して、パイプライン内のすべてのソース ファイルのパッケージをインストールします。
  2. ワークスペース ファイルに格納されているソース コードからモジュールまたはライブラリをインポートします。 Git フォルダーまたはワークスペース ファイルからの Python モジュールのインポートを参照してください。

LakeFlow 宣言型パイプラインは、グローバルおよびクラスタースコープの initスクリプトの使用もサポートしています。 ただし、これらの外部依存関係、特にinitスクリプトは、ランタイムアップグレードで問題が発生するリスクを高めます。 これらのリスクを軽減するには、パイプラインでのinitスクリプトの使用を最小限に抑えます。 処理にinitスクリプトが必要な場合は、パイプラインのテストを自動化して問題を早期に検出します。 initスクリプトを使用する場合は、テストの頻度を増やすことを Databricksでは お勧めします。

important

JVM ライブラリは LakeFlow 宣言型パイプラインではサポートされていないため、initスクリプトを使用してライブラリをインストールしJVMないでください。ただし、 Python ライブラリなどの他の種類のライブラリは、initスクリプトを使用してインストールできます。

Python ライブラリ

外部の Python ライブラリを指定するには、 %pip install マジック コマンドを使用します。更新が開始されると、 LakeFlow 宣言型パイプラインは、テーブル定義を実行する前に、 %pip install コマンドを含むすべてのセルを実行します。 パイプラインに含まれるすべての Python ノートブックは、ライブラリ環境を共有し、インストールされているすべてのライブラリにアクセスできます。

important
  • %pip install コマンドは、ノートブックの上部にある別のセルに配置する必要があります。%pip installコマンドを含むセルには、他のコードを含めないでください。
  • パイプライン内のすべてのノートブックはライブラリ環境を共有するため、1 つのパイプラインで異なるライブラリ バージョンを定義することはできません。 処理に異なるライブラリバージョンが必要な場合は、それらを異なるパイプラインで定義する必要があります。

次の例では、 numpy ライブラリをインストールし、パイプライン内の任意の Python ノートブックでグローバルに使用できるようにします。

Python
%pip install simplejson

Python wheel パッケージをインストールするには、Python wheel のパスを %pip install コマンドに追加します。 インストールされた Python wheel パッケージは、パイプライン内のすべてのテーブルで使用できます。 次の例では、Python wheel ボリュームからdltfns-1.0-py3-none-any.whl という名前のUnity Catalog ファイルをインストールします。

Python
%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 ライブラリがスクリプトによってインストールされていないことも確認する必要があります。