次の方法で共有


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

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

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

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

重要

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

Python ライブラリ

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

重要

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

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

%pip install simplejson

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

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