ライブラリ

クラスター上で実行されているノートブックやジョブでサードパーティ コードまたはカスタム コードを使用できるようにするには、ライブラリをインストールします。 ライブラリは、Python、Java、Scala、R で作成できます。 Python、Java、および Scala ライブラリをアップロードし、PyPI、Maven、および CRAN リポジトリ内の外部パッケージを指定できます。

Databricks Runtime には多くの共通ライブラリが含まれています。Databricks Runtime に含まれるライブラリを確認するには、ご利用の Databricks Runtime バージョンの Databricks Runtime のリリースノートシステム環境 サブセクションを参照してください。

クラスタースコープのライブラリ

クラスターにライブラリをインストールすると、クラスター上で実行されているすべてのノートブックとジョブでライブラリを使用できるようになります。 Databricks は、Python、JAR、および R ライブラリをサポートしています。 「クラスター ライブラリ」を参照してください。

クラスターライブラリは、次のソースから直接インストールできます。

すべてのタイプのライブラリまたはすべてのコンピュート構成ですべての場所がサポートされているわけではありません。 構成の推奨事項については、「ライブラリをアップロードするための推奨事項」を参照してください。

重要

ライブラリは、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 13.3 LTS 以下でのみサポートされており、シングル ユーザーまたは分離なしの共有アクセス モードでのみサポートされています。 また、Python egg ファイルをボリュームやワークスペース ファイルにインストールすることはできません。 代わりに、 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 パッケージのソース

%pip があるノートブックスコープのライブラリ

基本環境の YAML ファイルを含むノートブック スコープのライブラリ

クラスターライブラリ

ジョブ API があるジョブライブラリ

PyPI

%pip installを使用します。を参照してください。

PyPI パッケージ名を基本環境の YAML ファイルに追加します。 を参照してください。

ソースとして PyPI を選択します。

新しい pypi オブジェクトをジョブライブラリに追加し、package フィールドを指定します。

Nexus や Artifactory などのプライベート PyPI ミラー

--index-url オプションと共に %pip install を使用します。シークレット管理 が可能です。 を参照してください。

-–index-urlを基本環境の YAML ファイルに追加します。シークレット管理 が可能です。 を参照してください。

サポートされていません。

サポートされていません。

生のソースを使用する GitHub などの VCS

%pip install を使用し、パッケージ名としてリポジトリ URL を指定します。を参照してください。

リポジトリ URL をパッケージ名として基本環境の YAML ファイルに追加します。 を参照してください。

ソースとして PyPI を選択し、パッケージ名としてリポジトリ URL を指定します。

新しい pypi オブジェクトをジョブライブラリに追加し、リポジトリ URL を package フィールドとして指定します。

生のソースを使用するプライベート VCS

%pip install を使用し、パッケージ名として基本認証を含むリポジトリ URL を指定します。シークレット管理 が可能です。 を参照してください。

基本認証をパッケージ名として指定したリポジトリを、基本環境の YAML ファイルに追加します。 を参照してください。

サポートされていません。

サポートされていません。

ファイルパス

%pip installを使用します。を参照してください。

基本環境の YAML ファイルにパッケージ名としてファイル パスを追加します。 を参照してください。

ソースとしてファイル パス/S3を選択します。

新しい egg または whl オブジェクトをジョブライブラリに追加し、ファイルパスを package フィールドとして指定します。

S3

%pip install は署名付き URL と一緒に使用します。S3 プロトコルのパス s3:// はサポートされていません。

事前署名付き URL をパッケージ名として基本環境の YAML ファイルに追加します。 S3 プロトコル s3:// パスはサポートされていません。

ソースとしてファイル パス/S3を選択します。

新しい egg または whl オブジェクトをジョブライブラリに追加し、S3 パスを package フィールドとして指定します。

Python ライブラリの優先順位

組み込みライブラリのバージョンのオーバーライドが必要な場合や、クラスターにインストールされている別のライブラリと名前が競合するカスタムライブラリが存在する場合があります。import <library> を実行すると、優先順位の高いライブラリがインポートされます。

重要

ワークスペース ファイルに保存されているライブラリは、Python sys.pathに追加される方法に応じて異なる優先順位を持ちます。 Databricks Git フォルダーは、他のすべてのライブラリの前に現在の作業ディレクトリをパスに追加しますが、Git フォルダー外のノートブックは、他のライブラリがインストールされた後に現在の作業ディレクトリを追加します。 ワークスペース ディレクトリをパスに手動で追加する場合、これらの優先順位は常に最も低くなります。

次のリストでは、優先順位が高いものから低いものの順に並べられています。このリストでは、数字が小さいほど優先順位が高くなっています。

  1. 現在の作業ディレクトリ内のライブラリ (Git フォルダーのみ)。

  2. Git フォルダーのルート ディレクトリ内のライブラリ (Git フォルダーのみ)。

  3. ノートブックスコープのライブラリ(ノートブック内の %pip install)。

  4. クラスターライブラリ(UI、CLI、または API を使用)。

  5. Databricks Runtime に含まれるライブラリ。

    • initスクリプトでインストールされたライブラリは、インストール方法に応じて、組み込みライブラリの前または後に解決される場合があります。Databricks では、init スクリプトを使用してライブラリをインストールすることはお勧めしません。

  6. 現在の作業ディレクトリ内のライブラリ (Git フォルダー内ではない)。

  7. sys.path に追加されたワークスペースファイル .