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

クラスター-scoped initスクリプト

クラスタースコープのinitスクリプトは、クラスター構成で定義されたinitスクリプトです。クラスタースコープのinitスクリプトは、作成したクラスターとジョブを実行するために作成されたクラスターの両方に適用されます。

クラスターをスコープとする initスクリプトは、UI の CLIを使用して構成でき、クラスター の API. このセクションでは、UI を使用してこれらのタスクを実行する方法に焦点を当てます。 その他の方法については、 Databricks CLI および クラスター APIを参照してください。

スクリプトはいくつでも追加でき、スクリプトは指定された順序で順次実行されます。

クラスタースコープのinitスクリプトがゼロ以外の終了コードを返す場合、クラスターの起動 は失敗します 。 クラスタースコープのinitスクリプトのトラブルシューティングを行うには、 クラスターログの配信 を設定し、initスクリプトログを調べます。 initスクリプト loggingを参照してください。

UIを使用したクラスタースコープのinitスクリプトの設定

このセクションでは、 Databricks UIを使用してinitスクリプトを実行するようにクラスターを設定する手順について説明します。

Databricks 、すべてのinitスクリプトをクラスタースコープのinitスクリプトとして管理することをお勧めします。 コンピュートを標準アクセスモードまたは専用アクセスモード (以前の共有アクセスモードとシングルユーザーアクセスモード) で使用している場合は、initスクリプトを Unity Catalog ボリュームに格納してください。 コンピュートを非分離共有アクセスモードで使用している場合は、initスクリプトのワークスペースファイルを使用してください。

標準アクセスモードの場合は、initスクリプトを allowlistに追加する必要があります。 Allowlist ライブラリと initスクリプト on 標準アクセスモード (旧称 Shared Access Mode) のコンピュートを参照してください。

UIを使用してinitスクリプトを実行するようクラスターを設定するには、次の手順を実行します。

  1. クラスター設定ページで、 [Advanced ] トグルをクリックします。

  2. ページの下部にある [ Initスクリプト ] タブをクリックします。

  3. ソース ドロップダウンで、 ワークスペースボリューム 、または S3 ソース タイプを選択します。

  4. 次の例のいずれかのように、initスクリプトへのパスを指定します。

    • ワークスペースファイルに保存されているinitスクリプトの場合: /Workspace/<path-to-script>/<script-name>.sh
    • Unity Catalogボリュームで保存されたinitスクリプトの場合: /Volumes/<catalog>/<schema>/<volume>/<path-to-script>/<script-name>.sh
    • オブジェクトストレージに保存されたinitスクリプトの場合: s3://bucket-name/path/to/init-script
  5. [ 追加 ] をクリックします。

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

標準アクセスモードでは、クラスター所有者の ID が使用されます。

注記

分離なし共有アクセス モードはボリュームをサポートしませんが、標準アクセス モードと同じ ID 割り当てを使用します。

クラスター設定からスクリプトを削除するには、スクリプトの右側にあるごみ箱アイコンをクリックします。 削除を確認すると、クラスターを再起動するように求められます。 必要に応じて、アップロードした場所からスクリプト ファイルを削除できます。

注記

S3 ソースタイプを使用してinitスクリプトを構成する場合は、アクセス資格情報を構成する必要があります。

Databricks インスタンスプロファイルを使用して、 S3に格納されたinitスクリプトへのアクセスを管理することをお勧めします。 相互参照リンクにある次のドキュメントを使用して、この設定を完了します。

  1. 目的のバケットに対する読み取りおよび一覧表示権限を持つ IAMロールを作成します。 「 チュートリアル: インスタンスプロファイルを使用した S3 アクセスの設定」を参照してください。
  2. インスタンスプロファイルを使用してクラスターを起動します。 「インスタンスプロファイル」を参照してください。
警告

クラスター-scoped initスクリプトはサポート終了 DBFS 。 UI の DBFS オプションは、レガシ ワークロードをサポートするために一部のワークスペースに存在し、推奨されません。 DBFSに保存されているすべてのinitスクリプトを移行する必要があります。移行手順については、 DBFSからの initスクリプトの移行を参照してください。

S3 リージョンの構成

バケットがワークスペースと異なるリージョンにある場合は、initスクリプトを含むバケットの S3 リージョンを指定する必要があります。 バケットとワークスペースがリージョンを共有している場合にのみ、 auto を選択します。

クラスター-scoped initスクリプトのトラブルシューティング

  • スクリプトは、構成された場所に存在する必要があります。 スクリプトが存在しない場合、クラスターの開始またはエグゼキューターのスケールアップを試みると失敗します。
  • initスクリプトは64KBを超過してはなりません。スクリプトがそのサイズを超えると、クラスターは起動せず、クラスターログに失敗のメッセージが表示されます。