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

クラスター-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. ソース ドロップダウンで、 ワークスペースボリューム 、または GS ソース タイプを選択します。

  4. 次の例のいずれかのように、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
  5. [ 追加 ] をクリックします。

専用アクセスモードでは、割り当てられたプリンシパル (ユーザーまたはサービスプリンシパル) の 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を超過してはなりません。スクリプトがそのサイズを超えると、クラスターは起動せず、クラスターログに失敗のメッセージが表示されます。