ライブラリ
サードパーティ コードまたはカスタム コードをノートブック リソースで実行されているジョブで使用できるようにするには、ライブラリをインストールします。 ライブラリは、Python、Java、Scala、およびRで記述できます。 Python、Java、Scala ライブラリをアップロードし、PyPI、Maven、CRAN リポジトリ内の外部パッケージを指すことができます。
Databricks Runtime には多くの共通ライブラリが含まれています。Databricks Runtime に含まれるライブラリを確認するには、ご利用の Databricks Runtime バージョンの Databricks Runtime のリリースノートの システム環境 サブセクションを参照してください。
コンピュート-scoped ライブラリ
ライブラリをコンピュート リソースにインストールすると、コンピュート上で実行されているすべてのノートブックとジョブでライブラリを使用することができます。 Databricks は、Python、JAR、R ライブラリをサポートしています。 クラスタリング ライブラリを参照してください。
コンピュートスコープのライブラリは、次のソースから直接インストールできます。
PyPI、Maven、CRAN などのパッケージ リポジトリ
Unity Catalogボリューム
クラウドオブジェクトストレージのロケーション
ローカルマシン上のパス
すべてのタイプのライブラリまたはすべてのコンピュート構成ですべての場所がサポートされているわけではありません。 構成の推奨事項については、ライブラリをアップロードするための推奨事項を参照してください。
重要
ライブラリは、Databricks Runtime 14.3 LTS 以前を使用している場合は DBFS からインストールできます。 ただし、ワークスペース ユーザーは誰でも DBFS に格納されているライブラリ ファイルを変更できます。 Databricksワークスペースでのライブラリのセキュリティを向上させるために、DBFSルートへのライブラリファイルの保存は、Databricks Runtime 15.1 以降のデフォルトによって非推奨になり、無効になっています。DBFSルートでのライブラリの保存は、デフォルトによって非推奨および無効化されていますを参照してください。
代わりに、 、 Databricksライブラリ、PythonJAR ファイル、Spark コネクタを含むすべてのライブラリをワークスペース ファイルまたはUnity Catalog ボリュームにアップロードするか、ライブラリ パッケージ リポジトリを使用すること をお勧めします 。ワークロードがこれらのパターンをサポートしていない場合は、クラウドオブジェクトストレージに保存されているライブラリを使用することもできます。
完全なライブラリ サポート情報については、 Python ライブラリ サポート 、 Java および Scala ライブラリ サポート、 R ライブラリ サポートを参照してください。
ライブラリのアップロードに関する推奨事項
Databricks では、Python、JAR、R ライブラリのほとんどの構成インストールがサポートされていますが、サポートされていないシナリオがいくつかあります。 ライブラリは、すべてのワークロードに推奨されるモードであるため、標準アクセス モード (以前の共有アクセス モード) を使用したコンピュートへのインストールをサポートするソース ロケーションにアップロードすることをお勧めします。 「アクセスモード」を参照してください。標準アクセスモードでジョブをスケジュールする場合は、 サービスプリンシパルを使用してジョブを実行します。
重要
専用アクセスモード(旧シングルユーザーアクセスモード)のコンピュートは、標準アクセスモードで必要な機能がサポートされていない場合にのみ使用してください。 分離なし共有アクセス モードは、Databricks のレガシ構成であり、推奨されません。
次の表に、 Databricks RuntimeバージョンとUnity Catalog有効化ごとにまとめた推奨事項を示します。
構成 |
推奨事項 |
---|---|
Databricks Runtime 13.3 LTS 以降とUnity Catalog |
必要なユーザーのために、 ボリューム から 標準アクセスモードで コンピュートにライブラリを READでインストールします。Unity CatalogGRANT 該当する場合は、Maven 座標と JAR ライブラリのパスを許可リストに追加する必要があります。 |
Databricks Runtime 11.3 LTS 以降 ( Unity Catalogなし) |
ワークスペース ファイルからライブラリをインストールします。 (ファイルサイズの上限は500MBです。) |
Databricks Runtime 10.4 LTS 以下 |
クラウドオブジェクトストレージからライブラリをインストールします。 |
Python ライブラリのサポート
次の表は Databricks Runtime ライブラリ ソースの場所に基づいて、さまざまなコンピュート アクセス モードに対する Python wheel ファイルのバージョンの互換性を示しています。 Databricks Runtimeリリースノートのバージョンと互換性および アクセスモード を参照してください。
Databricks Runtime 15.0 以降では、 requirements.txt ファイル を使用して Python の依存関係を管理できます。 これらのファイルは、サポートされている任意のソース場所にアップロードできます。
注:
Python egg ファイルのインストールは、Databricks Runtime 13.3 LTS 以下でのみサポートされており、専用または分離なしの共有アクセス モードでのみサポートされています。 また、Python egg ファイルをボリュームやワークスペース ファイルにインストールすることはできません。 代わりに、 Python wheel ファイルを使用するか、 PyPI からパッケージをインストールしてください。
標準アクセスモード |
専用アクセスモード |
分離なしの共有アクセス モード (レガシー) |
|
---|---|---|---|
PyPI |
13.3 LTS以上 |
サポートされているすべてのDatabricks Runtimeバージョン |
サポートされているすべてのDatabricks Runtimeバージョン |
ワークスペースファイル |
13.3 LTS以上 |
13.3 LTS以上 |
14.1以上 |
ボリューム |
13.3 LTS以上 |
13.3 LTS以上 |
サポートされていない |
クラウドストレージ |
13.3 LTS以上 |
サポートされているすべてのDatabricks Runtimeバージョン |
サポートされているすべてのDatabricks Runtimeバージョン |
DBFS (推奨されません) |
サポートされていない |
14.3 以下 |
14.3 以下 |
Java および Scala ライブラリのサポート
次の表は Databricks Runtime ライブラリ ソースの場所に基づいて、さまざまなコンピュート アクセス モードに対する JAR ファイルのバージョンの互換性を示しています。 Databricks Runtimeリリースノートのバージョンと互換性および アクセスモード を参照してください。
注:
標準アクセスモードでは、管理者が JAR ライブラリの Maven 座標とパスを allowlist
に追加する必要があります。 Allowlist ライブラリと initスクリプト on 標準アクセスモード (旧称 Shared Access Mode) のコンピュートを参照してください。
標準アクセスモード |
専用アクセスモード |
分離なしの共有アクセス モード (レガシー) |
|
---|---|---|---|
Maven |
13.3 LTS以上 |
サポートされているすべてのDatabricks Runtimeバージョン |
サポートされているすべてのDatabricks Runtimeバージョン |
ワークスペースファイル |
サポートされていない |
サポートされていない |
14.1以上 |
ボリューム |
13.3 LTS以上 |
13.3 LTS以上 |
サポートされていない |
クラウドストレージ |
13.3 LTS以上 |
サポートされているすべてのDatabricks Runtimeバージョン |
サポートされているすべてのDatabricks Runtimeバージョン |
DBFS (推奨されません) |
サポートされていない |
14.3 以下 |
14.3 以下 |
R ライブラリのサポート
次の表は Databricks Runtime さまざまなコンピュート アクセス モードに対する CRAN パッケージのバージョン互換性を示しています。 Databricks Runtimeリリースノートのバージョンと互換性および アクセスモード を参照してください。
標準アクセスモード |
専用アクセスモード |
分離なしの共有アクセス モード (レガシー) |
|
---|---|---|---|
CRAN |
サポートされていない |
サポートされているすべてのDatabricks Runtimeバージョン |
サポートされているすべてのDatabricks Runtimeバージョン |
ノートブック スコープのライブラリ
ノートブックスコープのライブラリは、 Python と R で使用でき、ライブラリをインストールし、ノートブックセッションをスコープとする環境を作成できます。 これらのライブラリは、同じコンピュートで実行されている他のノートブックには影響しません。 ノートブック スコープのライブラリは保持されないため、セッションごとに再インストールする必要があります。 ノートブック スコープのライブラリは、特定のノートブックのカスタム環境が必要な場合に使用します。
注:
JAR はノートブック レベルではインストールできません。
重要
ワークスペース ライブラリは非推奨になっているため、使用しないでください。 「ワークスペース ライブラリ (レガシー)」を参照してください。 ただし、ライブラリをワークスペース ファイルとして保存することは、ワークスペース ライブラリとは異なり、引き続き完全にサポートされます。 ワークスペース ファイルとして保存されているライブラリをコンピュートまたはジョブ タスクに直接インストールできます。
Python 環境管理
次の表は、Databricks に Python ライブラリをインストールするために使用できるオプションの概要を示しています。
Python パッケージのソース |
||||
---|---|---|---|---|
PyPI |
|
PyPI パッケージ名を基本環境の YAML ファイルに追加します。 例を参照してください。 |
ソースとして PyPI を選択します。 |
新しい |
Nexus や Artifactory などのプライベート PyPI ミラー |
|
|
サポートされていません。 |
サポートされていません。 |
生のソースを使用する GitHub などの VCS |
|
リポジトリ URL をパッケージ名として基本環境の YAML ファイルに追加します。 例を参照してください。 |
ソースとして PyPI を選択し、パッケージ名としてリポジトリ URL を指定します。 |
新しい |
生のソースを使用するプライベート VCS |
|
基本認証をパッケージ名として指定したリポジトリを、基本環境の YAML ファイルに追加します。 例を参照してください。 |
サポートされていません。 |
サポートされていません。 |
ファイルパス |
|
基本環境の YAML ファイルにパッケージ名としてファイル パスを追加します。 例を参照してください。 |
ソースとしてファイル パス/GCSを選択します。 |
新しい |
GCSの |
|
事前署名付き URL をパッケージ名として基本環境の YAML ファイルに追加します。 GCS プロトコル |
ソースとしてファイル パス/GCSを選択します。 |
新しい |
Python ライブラリの優先順位
組み込みライブラリのバージョンをオーバーライドする必要がある状況や、コンピュート リソースにインストールされている別のライブラリと名前が競合するカスタム ライブラリがある場合に遭遇する可能性があります。 import <library>
を実行すると、優先順位の高いライブラリがインポートされます。
重要
ワークスペース ファイルに保存されているライブラリは、Python sys.path
に追加される方法に応じて異なる優先順位を持ちます。 Databricks Git フォルダーは、他のすべてのライブラリの前に現在の作業ディレクトリをパスに追加しますが、Git フォルダー外のノートブックは、他のライブラリがインストールされた後に現在の作業ディレクトリを追加します。 ワークスペース ディレクトリをパスに手動で追加する場合、これらの優先順位は常に最も低くなります。
次のリストでは、優先順位が高いものから低いものの順に並べられています。このリストでは、数字が小さいほど優先順位が高くなっています。
現在の作業ディレクトリ内のライブラリ (Git フォルダーのみ)。
Git フォルダーのルート ディレクトリ内のライブラリ (Git フォルダーのみ)。
ノートブックスコープのライブラリ(ノートブック内の
%pip install
)。コンピュートスコープのライブラリ (using the UI, CLI, or API).
Databricks Runtime に含まれるライブラリ。
initスクリプトでインストールされたライブラリは、インストール方法に応じて、組み込みライブラリの前または後に解決される場合があります。Databricks では、init スクリプトを使用してライブラリをインストールすることはお勧めしません。
現在の作業ディレクトリ内のライブラリ (Git フォルダー内ではない)。
sys.path
に追加されたワークスペースファイル .