クラスター-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スクリプトを実行するようクラスターを設定するには、次の手順を実行します。
-
クラスター設定ページで、 [Advanced ] トグルをクリックします。
-
ページの下部にある [ Initスクリプト ] タブをクリックします。
-
ソース ドロップダウンで、 ワークスペース 、 ボリューム 、または GS ソース タイプを選択します。
-
次の例のいずれかのように、initスクリプトへのパスを指定します。
- ワークスペースファイルに保存されているinitスクリプトの場合:
/Workspace/<path-to-script>/<script-name>.sh
- Unity Catalogボリュームで保存されたinitスクリプトの場合:
/Volumes/<catalog>/<schema>/<volume>/<path-to-script>/<script-name>.sh
- オブジェクトストレージに保存されたinitスクリプトの場合:
gs://bucket-name/path/to/init-script
- ワークスペースファイルに保存されているinitスクリプトの場合:
-
[ 追加 ] をクリックします。
専用アクセスモードでは、割り当てられたプリンシパル (ユーザーまたはサービスプリンシパル) の ID が使用されます。
非分離共有アクセス モードでは、クラスター所有者の ID が使用されます。
クラスター設定からスクリプトを削除するには、スクリプトの右側にあるごみ箱アイコンをクリックします。 削除を確認すると、クラスターを再起動するように求められます。 必要に応じて、アップロードした場所からスクリプト ファイルを削除できます。
GS ソースタイプを使用して initスクリプトを設定する場合は、アクセス認証情報を設定する必要があります。
Databricks Google Cloud サービス アカウントを使用して、 GCSに保存されている initスクリプト へのアクセスを管理することをお勧めします。 目的のバケットの Storage Object Viewer ロールを持つGoogle Cloudサービスアカウントを作成し、クラスターにアタッチします。 クラスターについては、Google Cloud サービスアカウントを使用してGCSバケットにアクセスするをご覧ください。
クラスター-scoped initスクリプトはサポート終了 DBFS 。 UI の DBFS オプションは、レガシ ワークロードをサポートするために一部のワークスペースに存在し、推奨されません。 DBFSに保存されているすべてのinitスクリプトを移行する必要があります。移行手順については、 DBFSからの initスクリプトの移行を参照してください。
クラスター-scoped initスクリプトのトラブルシューティング
- スクリプトは、構成された場所に存在する必要があります。 スクリプトが存在しない場合、クラスターの開始またはエグゼキューターのスケールアップを試みると失敗します。
- initスクリプトは64KBを超過してはなりません。スクリプトがそのサイズを超えると、クラスターは起動せず、クラスターログに失敗のメッセージが表示されます。