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

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

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

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

重要

Delta Live Tables パイプラインでは JVM ライブラリがサポートされていないため、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 ホイール パッケージをインストールするには、%pip install コマンドに Python ホイール パスを追加します。 インストールされている Python ホイール パッケージは、パイプライン内のすべてのテーブルで使用できます。 次の例では、DBFS ディレクトリ /dbfs/dlt/ から dltfns-1.0-py3-none-any.whl という名前の Python ホイール ファイルをインストールします。

%pip install /dbfs/dlt/dltfns-1.0-py3-none-any.whl

%pip を使用して Python ホイール パッケージをインストールする」を参照してください。

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

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