次の方法で共有


ライブラリのインストール

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

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

注記

Microsoft サポートは、Azure Databricks によってインストールおよび管理されるライブラリに関連する問題を特定し、解決するのに役立ちます。 サードパーティ製のコンポーネント (ライブラリを含む) については、Microsoft では、問題のトラブルシューティングを支援するために、商業的に妥当な範囲のサポートを提供しています。 Microsoft サポートは、ベストエフォート方式に従っているため、問題を解決できる場合があります。 Github でホストされているオープンソースのコネクタとプロジェクトについては、Github で問題を報告し、それに従ってください。 jar のシェーディングや Python ライブラリのビルドなどの開発作業は、標準のサポート ケースの提出プロセスではサポートされていません。迅速な解決のためにコンサルティングのエンゲージメントが必要です。 サポートでは、該当テクノロジの深い専門知識が入手できる、オープンソース テクノロジ用のその他のチャネルへの参加をお願いすることになる場合もあります。 コミュニティ サイトがいくつかあります。2 つの例として、Azure Databricks に関する Microsoft Q&A ページStack Overflow があります。

コンピューティング スコープのライブラリ

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

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

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

重要

Databricks Runtime 14.3 LTS 以下を使用する場合は、DBFS からライブラリをインストールできます。 ただし、ワークスペース ユーザーは、DBFS に格納されているライブラリ ファイルを変更できます。 Azure Databricks ワークスペース内のライブラリのセキュリティを向上させるために、Databricks Runtime 15.1 以降では、ライブラリ ファイルを DBFS ルートに格納することは非推奨となり、既定では無効になっています。 「DBFS ルートにライブラリを格納することは非推奨であり、既定では無効になっている」を参照してください。

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

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

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

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

重要

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

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

設定 推奨事項
Databricks Runtime 13.3 LTS 以降と Unity Catalog コンピュートにライブラリをインストールするには、ユニティカタログ ボリューム から、標準アクセスモード を使用し、必要なユーザーに対して GRANT READ を付与します。
該当する場合は、Maven 座標と JAR ライブラリ パスを allowlist に追加する必要があります。
Databricks Runtime 11.3 LTS 以降、Unity Catalog なし ワークスペース ファイルからライブラリをインストールします。 (ファイル サイズの制限は 500 MB です。)
Databricks Runtime 10.4 LTS 以前 クラウド オブジェクト ストレージからライブラリインストールします。

Python ライブラリのサポート

次の表は、ライブラリ ソースの場所に基づいて、さまざまなコンピューティング アクセス モードの Python ホイール ファイルに対する Databricks Runtime バージョンの互換性を示しています。 「Databricks Runtime リリース ノートのバージョンと互換性」と「アクセス モード」を参照してください。

Databricks Runtime 15.0 以降では、requirements.txt ファイルを使用して Python の依存関係を管理できます。 これらのファイルは、サポートされている任意のソースの場所にアップロードできます。

注記

Python Egg ファイルのインストールは、Databricks Runtime 13.3 LTS 以下でのみサポートされ、専用または分離共有アクセス モードの場合にのみサポートされます。 さらに、ボリュームまたはワークスペース ファイルに Python egg ファイルをインストールすることはできません。 代わりに、Python ホイール ファイルを使用するか、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 ライブラリのサポート

次の表は、ライブラリ ソースの場所に基づいて、さまざまなコンピューティング アクセス モードの JAR ファイルに対する Databricks Runtime バージョンの互換性を示しています。 「Databricks Runtime リリース ノートのバージョンと互換性」と「アクセス モード」を参照してください。

標準アクセス モードで Unity カタログ対応クラスターに Scala JAR ファイルをデプロイする方法の詳細については、「 Unity カタログ クラスターに Scala JAR をデプロイする」を参照してください。 Unity カタログ標準クラスターでは、JAR ライブラリのクラスは名前付きパッケージ ( com.databricks.MyClassなど) に含まれている必要があります。ライブラリのインポート時にエラーが発生します。

注記

標準アクセス モードでは、管理者が JAR ライブラリの Maven 座標とパスを allowlistに追加する必要があります。 「標準アクセス モード (以前の共有アクセス モード) を使用したコンピューティング上の許可リスト ライブラリと init スクリプト」をご覧ください。

標準アクセス モード 専用アクセス モード 分離なし共有アクセス モード (レガシ)
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 ライブラリのサポート

次の表は、さまざまなコンピューティング アクセス モードでの CRAN パッケージの Databricks Runtime バージョンの互換性を示しています。 「Databricks Runtime リリース ノートのバージョンと互換性」と「アクセス モード」を参照してください。

標準アクセス モード 専用アクセス モード 分離なし共有アクセス モード (レガシ)
クラン サポートされていません すべてのサポートされている Databricks Runtime バージョン すべてのサポートされている Databricks Runtime バージョン

インストーラー ID

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

標準アクセス モード 専用アクセス モード 分離なし共有アクセス モード (レガシ)
ライブラリをインストールするユーザーの ID 特定の担当者の識別子 ID なし

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

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

注記

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

重要

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

Python 環境の管理

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

注記

  • conda ベースの環境を使用するカスタム コンテナー は、ノートブック スコープのライブラリ と、Databricks Runtime 10.4 LTS 以降で コンピューティング ライブラリと互換性がありません。 代わりに、Azure Databricks ライブラリをイメージに直接インストールするか、init スクリプトを使用することをお勧めします。 これらのシナリオでコンピューティング ライブラリを引き続き使用するには、Spark 構成spark.databricks.driverNfs.clusterWidePythonLibsEnabledfalseに設定します。 Spark 構成のサポートは、2021 年 12 月 31 日以降に削除されます。
Python パッケージ ソース %pip を使用するノートブック スコープのライブラリ 基本環境 YAML ファイルを含むノートブック スコープ ライブラリ コンピューティング スコープのライブラリ Jobs API を使用するジョブ ライブラリ
PyPI %pip installを使用します。 を参照してください。 PyPI パッケージ名を基本環境の YAML ファイルに追加します。 を参照してください。 ソースとして [PyPI] を選択します。 ジョブ ライブラリに新しい pypi オブジェクトを追加し、package フィールドを指定します。
プライベート PyPI ミラー (Nexus や Artifactory など) %pip install--index-url オプションとともに使用します。 シークレットの管理を使用できます。 を参照してください。 基本環境の YAML ファイルに -–index-url を追加します。 シークレットの管理を使用できます。 を参照してください。 サポートされていません。 サポートされていません。
生ソースを使用する VCS (GitHub など) %pip install を使用し、パッケージ名としてリポジトリの URL を指定します。 を参照してください。 パッケージ名としてリポジトリ URL を基本環境の YAML ファイルに追加します。 を参照してください。 ソースとして [PyPI] を選択し、パッケージ名としてリポジトリの URL を指定します。 新しい pypi オブジェクトをジョブ ライブラリに追加し、package フィールドとしてリポジトリの URL を指定します。
生ソースを使用するプライベート VCS %pip install を使用し、基本認証を使用するリポジトリの URL をパッケージ名として指定します。 シークレットの管理を使用できます。 を参照してください。 基本認証を含むリポジトリをパッケージ名として基本環境 YAML ファイルに追加します。 を参照してください。 サポートされていません。 サポートされていません。
ファイル パス %pip installを使用します。 を参照してください。 パッケージ名としてファイル パスを基本環境の YAML ファイルに追加します。 を参照してください。 ソースとして [File path/ADLS] (ファイル パス/ADLS) を選択します。 新しい egg または whl オブジェクトをジョブ ライブラリに追加し、package フィールドとしてファイル パスを指定します。
Azure Data Lake Storage 事前署名済みの URL と共に %pip install を使用します。 Azure Data Lake Storage プロトコル abfss:// を持つパスはサポートされていません。 パッケージ名として事前署名された URL を基本環境の YAML ファイルに追加します。 Azure Data Lake Storage プロトコル abfss:// を持つパスはサポートされていません。 ソースとして [File path/ADLS] (ファイル パス/ADLS) を選択します。 ジョブ ライブラリに新しい egg または whl オブジェクトを追加し、package フィールドとして Azure Data Lake Storage パスを指定します。

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 に追加されたワークスペース ファイル。