クラスタースコープの 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スクリプトとして管理することをお勧めします。 共有またはシングル ユーザー アクセス モードでコンピュートを使用している場合は、Unity Catalog ボリュームに initscript を格納します。 分離なしの共有アクセス モードでコンピュートを使用している場合は、initスクリプトにワークスペース ファイルを使用します。

共有アクセス モードの場合は、 allowlistに initスクリプト を追加する必要があります。 共有コンピュートの許可リストライブラリとinitスクリプトを参照してください。

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

  1. クラスター構成ページで、[ 詳細オプション ] トグルをクリックします。

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

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

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

    • ワークスペースファイルとともにホームディレクトリに格納されているinitスクリプトの場合: /Users/<user-name>/<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 を超えることはできません。 スクリプトがそのサイズを超えると、クラスターの起動に失敗し、クラスター ログにエラー メッセージが表示されます。