ライブラリ
サードパーティ コードまたはカスタム コードをノートブック リソースで実行されているジョブで使用できるようにするには、ライブラリをインストールします。 ライブラリは、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 ライブラリをサポートしています。 クラスター ライブラリを参照してください。
コンピュートスコープのライブラリは、次のソースから直接インストールできます。
- PyPI、Maven、CRAN などのパッケージリポジトリ
- ワークスペース ファイル
- Unity Catalog ボリューム
- クラウド・オブジェクト・ストレージの場所
- ローカル マシン上のパス
すべての種類のライブラリまたはすべてのコンピュート構成で、すべての場所がサポートされているわけではありません。 構成の推奨事項については 、ライブラリのアップロードに関する推奨事項 を参照してください。
ライブラリは、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 ライブラリのほとんどの構成インストールがサポートされていますが、サポートされていないシナリオがいくつかあります。 ライブラリは、すべてのワークロードに推奨されるモードであるため、標準アクセス モード (以前の共有アクセス モード) を使用したコンピュートへのインストールをサポートするソース ロケーションにアップロードすることをお勧めします。 「アクセスモード」を参照してください。標準アクセスモードでジョブをスケジュールする場合は、 サービスプリンシパルを使用してジョブを実行します。
専用アクセスモード(旧シングルユーザーアクセスモード)のコンピュートは、標準アクセスモードで必要な機能がサポートされていない場合にのみ使用してください。 分離なし共有アクセス モードは、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 はノートブック レベルではインストールできません。
ワークスペースライブラリは廃止されたため、使用しないでください。 「ワークスペースライブラリ (レガシー)」を参照してください。ただし、ライブラリをワークスペース ファイルとして保存することは、ワークスペース ライブラリとは異なり、引き続き完全にサポートされています。 ワークスペースファイルとして保存されているライブラリを、コンピュートまたはジョブタスクに直接インストールできます。
Python環境管理
次の表は、Databricks に Python ライブラリをインストールするために使用できるオプションの概要を示しています。
Python パッケージのソース | ||||
---|---|---|---|---|
PyPI |
| PyPI パッケージ名を基本環境の YAML ファイルに追加します。 例を参照してください。 | ソースとして PyPI を選択します。 | 新しい |
Nexus や Artifactory などのプライベート PyPI ミラー |
|
| サポートされていません。 | サポートされていません。 |
生のソースを使用する GitHub などの VCS |
| リポジトリ URL をパッケージ名として基本環境の YAML ファイルに追加します。 例を参照してください。 | ソースとして PyPI を選択し、パッケージ名としてリポジトリ URL を指定します。 | 新しい |
生のソースを使用するプライベート VCS |
| 基本認証をパッケージ名として指定したリポジトリを、基本環境の YAML ファイルに追加します。 例を参照してください。 | サポートされていません。 | サポートされていません。 |
ファイルパス |
| 基本環境の YAML ファイルにパッケージ名としてファイル パスを追加します。 例を参照してください。 | ソースとして [File path/S3 ] を選択します。 | 新しい |
S3 |
| 事前署名付き URL をパッケージ名として基本環境の YAML ファイルに追加します。 S3 プロトコル | ソースとして [File path/S3 ] を選択します。 | 新しい |
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
に追加されたワークスペースファイル .