次の方法で共有


init スクリプトで参照できるファイルは何ですか?

init スクリプト内で他のファイルを参照するためのサポートは、参照されるファイルの格納場所によって異なります。 この記事では、この動作の概要と推奨事項について説明します。

Databricks では、クラスター スコープの init スクリプトとして、すべての init スクリプトを管理することが推奨されています。

init スクリプトを実行するために使用される ID は何ですか?

シングル ユーザー アクセス モードでは、割り当てられたプリンシパル (ユーザーまたはサービス プリンシパル) の ID が使用されます。

共有アクセス モードまたは分離なしの共有アクセス モードでは、init スクリプトはクラスター所有者の ID を使用します。

init スクリプトを格納するすべての場所が、すべての Databricks Runtime バージョンとアクセス モードでサポートされているわけではありません。 「init スクリプトはどこにインストールできますか?」を参照してください。

init スクリプトから Unity Catalog ボリューム内のファイルを参照できますか?

Unity Catalog ボリュームに格納されている init スクリプトからは、Unity Catalog ボリュームに格納されているライブラリと init スクリプトを参照できます。

重要

Unity Catalog ボリュームに格納されている他のファイルにアクセスするために必要な資格情報は、Unity Catalog ボリュームに格納されている init スクリプト内でのみ使用可能になります。 Unity Catalog ボリューム内のファイルは、他の場所から構成された init スクリプトからは参照できません。

共有アクセス モードのクラスターでは、構成された init スクリプトのみを許可リストに追加する必要があります。 init スクリプトで参照される他のファイルへのアクセスは、Unity Catalog によって管理されます。

init スクリプトからワークスペース ファイルを参照できますか?

Databricks Runtime 11.3 LTS 以降では、ワークスペース ファイルと共に格納されている init スクリプトから、ライブラリ、構成ファイル、シェル スクリプトなどの他のワークスペース ファイルを参照できます。

init スクリプトからクラウド オブジェクト ストレージ内のファイルを参照できますか?

クラウド オブジェクト ストレージに格納されているライブラリと init スクリプトは、init スクリプトから参照できます。

共有アクセス モードのクラスターでは、構成された init スクリプトのみを許可リストに追加する必要があります。 init スクリプトで参照されている他のファイルへのアクセスは、クラウド オブジェクト ストレージに構成されたアクセスによって決まります。

Databricks では、Microsoft Entra ID サービス プリンシパルを使って、Azure Data Lake Storage Gen2 に格納されているライブラリと init スクリプトへのアクセスを管理することをお勧めしています。 次のリンクされたドキュメントを使用して、このセットアップを完了してください。

  1. 目的の BLOB に対する読み取りと一覧表示の権限を持つサービス プリンシパルを作成します。 「サービス プリンシパルと Microsoft Entra ID (Azure Active Directory) を使用してストレージにアクセスする」をご覧ください。

  2. シークレットを使用して資格情報を保存します。 管理シークレットを参照してください。

  3. 次の例のように、クラスターの作成時に Spark 構成と環境変数のプロパティを設定します。

    Spark 構成:

    spark.hadoop.fs.azure.account.auth.type.<storage-account>.dfs.core.windows.net OAuth
    spark.hadoop.fs.azure.account.oauth.provider.type.<storage-account>.dfs.core.windows.net org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider
    spark.hadoop.fs.azure.account.oauth2.client.id.<storage-account>.dfs.core.windows.net <application-id>
    spark.hadoop.fs.azure.account.oauth2.client.secret.<storage-account>.dfs.core.windows.net {{secrets/<secret-scope>/<service-credential-key>}}
    spark.hadoop.fs.azure.account.oauth2.client.endpoint.<storage-account>.dfs.core.windows.net https://login.microsoftonline.com/<tenant-id>/oauth2/token
    

    環境変数:

    SERVICE_CREDENTIAL={{secrets/<secret-scope>/<service-credential-key>}}
    
  4. (省略可能) azcopy または Azure CLI を使用して、init スクリプトをリファクタリングします。

    init スクリプト内でクラスター構成中に設定された環境変数を参照して、検証用のシークレットとして格納された資格情報を渡すことができます。