ライブラリ
クラスター上で実行されているノートブックやジョブでサードパーティ コードまたはカスタム コードを使用できるようにするには、ライブラリをインストールします。 ライブラリは、Python、Java、Scala、R で作成できます。 Python、Java、および Scala ライブラリをアップロードし、PyPI、Maven、および CRAN リポジトリ内の外部パッケージを指定できます。
Databricks Runtime には多くの共通ライブラリが含まれています。Databricks Runtime に含まれるライブラリを確認するには、ご利用の Databricks Runtime バージョンの Databricks Runtime のリリースノートの システム環境 サブセクションを参照してください。
クラスタースコープのライブラリ
クラスターにライブラリをインストールすると、クラスター上で実行されているすべてのノートブックとジョブでライブラリを使用できるようになります。 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 RuntimePython wheel次の表は、ライブラリ ソースの場所に基づいた、さまざまなクラスター アクセス モードでの ファイルの バージョンの互換性を示しています。Databricks Runtimeリリース ノートのバージョンと互換性」および「アクセス モード」を参照してください。
Databricks Runtime 15.0 以降では、 requirements.txt ファイル を使用して Python の依存関係を管理できます。 これらのファイルは、サポートされている任意のソース場所にアップロードできます。
注:
Python の Egg ファイルのインストールは、Databricks Runtime 14.0 以降ではサポートされていません。 代わりにPython wheelファイルを使用するか、 PyPIからパッケージをインストールしてください。
共有アクセスモード |
シングル・ユーザー・アクセス・モード |
分離なしの共有アクセス モード (レガシー) |
|
---|---|---|---|
PyPI |
LTS以上 |
サポートされているすべてのDatabricks Runtimeバージョン |
サポートされているすべてのDatabricks Runtimeバージョン |
ワークスペースファイル |
LTS以上 |
LTS以上 |
14.1以上 |
ボリューム |
LTS以上 |
LTS以上 |
サポートされていない |
クラウドストレージ |
LTS以上 |
サポートされているすべてのDatabricks Runtimeバージョン |
サポートされているすべてのDatabricks Runtimeバージョン |
DBFS (推奨されません) |
サポートされていない |
14.3 以下 |
14.3 以下 |
Java および Scala ライブラリのサポート
次の表は、ライブラリ ソースの場所に基づいた、さまざまなクラスター アクセス モードでの JAR ファイルのDatabricks Runtimeバージョンの互換性を示しています。 「Databricks Runtime リリース ノートのバージョンと互換性」および「アクセス モード」を参照してください。
注:
共有アクセス モードでは、管理者が JAR ライブラリの Maven 座標とパスをallowlist
に追加する必要があります。 共有コンピュートの許可リスト ライブラリと init スクリプトを参照してください。
共有アクセスモード |
シングル・ユーザー・アクセス・モード |
分離なしの共有アクセス モード (レガシー) |
|
---|---|---|---|
Maven |
LTS以上 |
サポートされているすべてのDatabricks Runtimeバージョン |
サポートされているすべてのDatabricks Runtimeバージョン |
ワークスペースファイル |
サポートされていない |
サポートされていない |
14.1以上 |
ボリューム |
LTS以上 |
LTS以上 |
サポートされていない |
クラウドストレージ |
LTS以上 |
サポートされているすべてのDatabricks Runtimeバージョン |
サポートされているすべてのDatabricks Runtimeバージョン |
DBFS (推奨されません) |
サポートされていない |
14.3 以下 |
14.3 以下 |
R ライブラリのサポート
次の表は、さまざまなクラスター アクセス モードの CRAN パッケージのDatabricks Runtimeバージョンの互換性を示しています。 「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 ファイルにパッケージ名としてファイル パスを追加します。 例を参照してください。 |
ソースとしてファイル パス/S3を選択します。 |
新しい |
S3 |
|
事前署名付き URL をパッケージ名として基本環境の YAML ファイルに追加します。 S3 プロトコル |
ソースとしてファイル パス/S3を選択します。 |
新しい |
Python ライブラリの優先順位
組み込みライブラリのバージョンのオーバーライドが必要な場合や、クラスターにインストールされている別のライブラリと名前が競合するカスタムライブラリが存在する場合があります。import <library>
を実行すると、優先順位の高いライブラリがインポートされます。
重要
ワークスペース ファイルに保存されているライブラリは、Python sys.path
に追加される方法に応じて異なる優先順位を持ちます。 Databricks Git フォルダーは、他のすべてのライブラリの前に現在の作業ディレクトリをパスに追加しますが、Git フォルダー外のノートブックは、他のライブラリがインストールされた後に現在の作業ディレクトリを追加します。 ワークスペース ディレクトリをパスに手動で追加する場合、これらの優先順位は常に最も低くなります。
次のリストでは、優先順位が高いものから低いものの順に並べられています。このリストでは、数字が小さいほど優先順位が高くなっています。
現在の作業ディレクトリ内のライブラリ (Git フォルダーのみ)。
Git フォルダーのルート ディレクトリ内のライブラリ (Git フォルダーのみ)。
ノートブックスコープのライブラリ(ノートブック内の
%pip install
)。クラスターライブラリ(UI、CLI、または API を使用)。
Databricks Runtime に含まれるライブラリ。
initスクリプトでインストールされたライブラリは、インストール方法に応じて、組み込みライブラリの前または後に解決される場合があります。Databricks では、init スクリプトを使用してライブラリをインストールすることはお勧めしません。
現在の作業ディレクトリ内のライブラリ (Git フォルダー内ではない)。
sys.path
に追加されたワークスペースファイル .