クラスタースコープのinitスクリプト

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

クラスター スコープの initScript は、UI、CLI、およびクラスター API を呼び出すことによって構成できます。 このセクションでは、UI を使用してこれらのタスクを実行する方法について説明します。 その他の方法については、 Databricks CLIクラスター API に関するページを参照してください。

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

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

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

このセクションには、Databricks UI を使用して init スクリプトを実行するようにクラスターを構成する手順が含まれています。

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

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

UI を使用して initScript を実行するようにクラスターを構成するには、以下のステップを実行します。

  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 に格納されている initScript へのアクセスを管理することをお勧めします。 相互参照リンクの次のドキュメントを使用して、この設定を完了します。

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

  2. インスタンスプロファイルを使用してクラスターを起動します。 「 インスタンスプロファイル」を参照してください。

警告

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

S3 リージョンの設定

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

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

  • スクリプトは、構成された場所に存在する必要があります。 スクリプトが存在しない場合、クラスターの起動またはエグゼキューターのスケールアップを試みると、失敗します。

  • initスクリプトは 64KB を超えることはできません。 スクリプトがそのサイズを超えると、クラスターの起動に失敗し、クラスター ログにエラー メッセージが表示されます。