メインコンテンツまでスキップ

ライブラリ

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

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

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

ライブラリをコンピュート リソースにインストールすると、コンピュート上で実行されているすべてのノートブックとジョブでライブラリを使用することができます。 Databricks は、Python、JAR、R ライブラリをサポートしています。 クラスター ライブラリを参照してください。

コンピュートスコープのライブラリは、次のソースから直接インストールできます。

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

important

ライブラリは、Databricks Runtime 14.3 LTS 以前を使用している場合は DBFS からインストールできます。 ただし、ワークスペース ユーザーは誰でも DBFS に格納されているライブラリ ファイルを変更できます。 Databricksワークスペースでのライブラリのセキュリティを向上させるために、DBFSルートへのライブラリファイルの保存は、Databricks Runtime 15.1 以降のデフォルトによって非推奨になり、無効になっています。「 Storing Library in DBFSRoutes is deprecated and disabled by デフォルト」を参照してください

Databricks代わりに、 ライブラリ、 ファイル、 コネクタを含むすべてのライブラリをワークスペースPython JARSparkファイルまたは ボリュームにアップロードするかUnity Catalog 、ライブラリ パッケージ リポジトリを使用することをお勧めします。ワークロードがこれらのパターンをサポートしていない場合は、クラウド・オブジェクト・ストレージに保管されているライブラリーも使用できます。

完全なライブラリ サポート情報については、「Python ライブラリのサポート」、「 Java ライブラリと Scala ライブラリのサポート」、および「R ライブラリのサポート」を参照してください。

ライブラリのアップロードに関する推奨事項

Databricks では、Python、JAR、R ライブラリのほとんどの構成インストールがサポートされていますが、サポートされていないシナリオがいくつかあります。 ライブラリは、すべてのワークロードに推奨されるモードであるため、標準アクセス モード (以前の共有アクセス モード) を使用したコンピュートへのインストールをサポートするソース ロケーションにアップロードすることをお勧めします。 「アクセスモード」を参照してください。標準アクセスモードでジョブをスケジュールする場合は、 サービスプリンシパルを使用してジョブを実行します。

important

専用アクセスモード(旧シングルユーザーアクセスモード)のコンピュートは、標準アクセスモードで必要な機能がサポートされていない場合にのみ使用してください。 分離なし共有アクセス モードは、Databricks のレガシ構成であり、推奨されません。

次の表は、Databricks Runtime のバージョンと Unity Catalog の有効化別に整理された推奨事項を示しています。

構成

推奨事項

Databricks Runtime 13.3 LTS 以降と Unity Catalog

必要なユーザー向けに、 ボリュームからUnity Catalog標準アクセスモードで コンピュートにライブラリをGRANT READでインストールします。

該当する場合は、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 バージョン

インストーラーの ID

ワークスペース ファイルまたは Unity Catalog ボリュームからライブラリをインストールする場合、コンピュート アクセス モードによっては、ID がインストールに関連付けられている場合があります。 ID には、ライブラリ ファイルに対する読み取りアクセス権が必要です。

標準アクセスモード

専用アクセスモード

分離なしの共有アクセス モード (レガシー)

ライブラリをインストールしたユーザーの ID

専用プリンシパルの ID

IDなし

ノートブック スコープのライブラリ

ノートブックスコープのライブラリは、 Python と R で使用でき、ライブラリをインストールし、ノートブックセッションをスコープとする環境を作成できます。 これらのライブラリは、同じコンピュートで実行されている他のノートブックには影響しません。 ノートブック スコープのライブラリは保持されないため、セッションごとに再インストールする必要があります。 ノートブック スコープのライブラリは、特定のノートブックのカスタム環境が必要な場合に使用します。

注記

JAR はノートブック レベルではインストールできません。

important

ワークスペースライブラリは廃止されたため、使用しないでください。 「ワークスペースライブラリ (レガシー)」を参照してください。ただし、ライブラリをワークスペース ファイルとして保存することは、ワークスペース ライブラリとは異なり、引き続き完全にサポートされています。 ワークスペースファイルとして保存されているライブラリを、コンピュートまたはジョブタスクに直接インストールできます。

Python環境管理

次の表は、Databricks に Python ライブラリをインストールするために使用できるオプションの概要を示しています。

Python パッケージのソース

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

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

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

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

PyPI

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ファイルパス

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

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

ソースとして [File path/S3 ] を選択します。

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

S3

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

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

ソースとして [File path/S3 ] を選択します。

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

Python ライブラリの優先順位

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

important

ワークスペース ファイルに格納されたライブラリは、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 に追加されたワークスペースファイル .