パッケージ リポジトリからライブラリをインストールする

Azure Databricks には、PyPI、Maven、CRAN パッケージ リポジトリからライブラリをインストールするためのツールが用意されています。 ライブラリの互換性の詳細については、「クラスター スコープ ライブラリ」を参照してください。

重要

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

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

PyPI パッケージ

  1. [ライブラリ ソース] ボタン リストから [PyPI] を選択します。

  2. PyPI パッケージ名を入力します。 ライブラリの特定のバージョンをインストールするには、ライブラリのこの形式 <library>==<version> を使用します。 たとえば、「 scikit-learn==0.19.1 」のように入力します。

    注意

    Databricks では、ジョブの場合、再現可能な環境を確保するためにライブラリ バージョンを指定することをお勧めします。 Databricks では、ライブラリ バージョンが完全に指定されていない場合に、一致する最新バージョンが使用されます。 つまり、新しいバージョンが公開されると、同じジョブの実行ごとに異なるライブラリ バージョンが使用される可能性があります。 ライブラリ バージョンを指定すると、ライブラリの新しい破壊的変更によるジョブの中断が回避されます。

  3. (省略可) [インデックス URL] フィールドに PyPI インデックス URL を入力します。

  4. [インストール] をクリックします。

Maven または Spark パッケージ

重要

共有アクセス モードで構成されたコンピューティングに Maven ライブラリをインストールするには、許可リストに座標を追加する必要があります。 「共有コンピューティングの許可リスト ライブラリと init スクリプト」を参照してください。

重要

DBR 14.3 LTS 以前の場合、Databricks は Apache Ivy 2.4.0 を使って Maven パッケージを解決します。 DBR 15.0 以降の場合、Databricks では Ivy 2.5.1 以降が使われます。具体的な Ivy バージョンは「Databricks Runtime リリース ノートのバージョンと互換性」に記載されています。

Maven パッケージのインストール順序は最終的な依存関係ツリーに影響を与える可能性があり、ライブラリの読み込み順序に影響する場合があります。

  1. [ライブラリ ソース] ボタン リストから [Maven] を選択します。

  2. Maven 座標を指定します。 以下のいずれかを実行します。

    • [座標] フィールドに、インストールするライブラリの Maven 座標を入力します。 Maven 座標は groupId:artifactId:version の形式になります。たとえば、com.databricks:spark-avro_2.10:1.0.0 のようになります。
    • 正確な座標がわからない場合は、ライブラリ名を入力し、[パッケージの検索] をクリックします。 一致するパッケージの一覧が表示されます。 パッケージの詳細を表示するには、その名前をクリックします。 パッケージは、名前、組織、評価で並べ替えることができます。 検索バーにクエリを入力して結果をフィルター処理することもできます。 結果は自動的に更新されます。
      1. 左上のドロップダウン リストで、[Maven Central] または [Spark パッケージ] を選択します。
      2. 必要に応じて、[リリース] 列でパッケージのバージョンを選択します。
      3. パッケージの横にある [+ 選択] をクリックします。 [座標] フィールドには、選択したパッケージとバージョンが入力されます。
  3. (省略可) [リポジトリ] フィールドに Maven リポジトリの URL を入力できます。

    Note

    内部 Maven リポジトリはサポートされていません。

  4. 必要に応じて、除外する依存関係の groupIdartifactId[除外] フィールドに指定します (例: log4j:log4j)。

    Note

    Maven はルートに最も近いバージョンを使用して動作します。2 つのパッケージが、異なる依存関係を持つバージョンをめぐって競合する場合、順序が重要になるため、古い依存関係を持つパッケージが最初に読み込まれると失敗する可能性があります。

    これを回避するには、競合するライブラリを除外します。 たとえば、座標 com.microsoft.azure:azure-eventhubs-spark_2.12:2.3.22 を使用してパッケージをインストールする場合、[除外] フィールドを com.nimbusds:oauth2-oidc-sdk:RELEASE に設定して、eventhubs の最新バージョンが MSAL4J から読み込まれ、eventhubs の依存関係が満たされるようにします。

  5. [インストール] をクリックします。

CRAN パッケージ

  1. [ライブラリ ソース] ボタン リストから [CRAN] を選択します。
  2. [パッケージ] フィールドにパッケージの名前を入力します。
  3. (省略可) [リポジトリ] フィールドに CRAN リポジトリの URL を入力できます。
  4. [インストール] をクリックします。

Note

CRAN ミラーでは、最新バージョンのライブラリを提供します。 その結果、異なるタイミングで異なるクラスターにライブラリをアタッチすると、R パッケージのバージョンが異なる可能性があります。 Databricks で R パッケージのバージョンを管理および修正する方法については、サポート技術情報を参照してください。