ライブラリ

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

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

コンピュート-scoped ライブラリ

ライブラリをコンピュート リソースにインストールすると、コンピュート上で実行されているすべてのノートブックとジョブでライブラリを使用することができます。 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 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 パッケージのソース

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

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

コンピュート-scoped ライブラリ

ジョブ 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 ファイルにパッケージ名としてファイル パスを追加します。 を参照してください。

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

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

GCSの

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

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

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

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

Python ライブラリの優先順位

組み込みライブラリのバージョンをオーバーライドする必要がある状況や、コンピュート リソースにインストールされている別のライブラリと名前が競合するカスタム ライブラリがある場合に遭遇する可能性があります。 import <library>を実行すると、優先順位の高いライブラリがインポートされます。

重要

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

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

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

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

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

  4. コンピュートスコープのライブラリ (using the UI, CLI, or API).

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

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

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

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