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

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

  1. %pip install コマンドを使用して、パイプライン内のすべてのソース ファイルのパッケージをインストールします。

  2. ワークスペース ファイルに保存されているソース コードからモジュールまたはライブラリをインポートします。 「Git フォルダーまたはワークスペース ファイルから Python モジュールをインポートする」を参照してください。

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

重要

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

Python ライブラリ

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

重要

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

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

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