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

DLT パイプラインの Python 依存関係を管理する

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

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

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

important

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

Python ライブラリ

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

important
  • %pip install コマンドは、DLT パイプライン ノートブックの上部にある別のセルに配置する必要があります。%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 パッケージをインストールするを参照してください。

DLT パイプラインで Scala または Java ライブラリを使用できますか?

いいえ、DLT は SQL と Python のみをサポートします。パイプラインで JVM ライブラリを使用することはできません。 JVM ライブラリをインストールすると、予期しない動作が発生し、将来の DLT リリースで中断される可能性があります。パイプラインでinitスクリプトを使用する場合は、 JVM ライブラリがスクリプトによってインストールされていないことも確認する必要があります。