init スクリプトとは

init スクリプト (初期化スクリプト) は、Apache Spark ドライバーまたは実行プログラムの JVM が起動する前の、各クラスター ノードの起動時に実行されるシェル スクリプトです。 この記事では、init スクリプトと構成情報を使用する必要がある場合の推奨事項を示します。

init スクリプトに関する推奨事項

Databricks では、可能な限り init スクリプトのわかりに、組み込みのプラットフォーム機能を使用することをお勧めします。 init スクリプトが広く使用されている場合、新しい Databricks Runtime バージョンへの移行が遅くなり、一部の Databricks 最適化の導入が妨げられます。

重要

DBFS 上の init スクリプトから移行する必要がある場合は、DBFS からの init スクリプトの移行に関する記事を参照してください。

次の Databricks 機能は、init スクリプトの一般的なユース ケースの一部に対応しています。

init スクリプトを使用する必要がある場合:

  • グローバル init スクリプトではなく、コンピューティング ポリシーまたはクラスター スコープの init スクリプトを使用して init スクリプトを管理します。 「init スクリプトの種類」を参照してください。
  • 運用と対話型の環境に対するライブラリのインストールは、コンピューティング ポリシーを使って管理します。 init スクリプトを使ってライブラリをインストールしないでください。
  • すべてのワークロードに共有アクセス モードを使用します。 必要な機能が共有アクセス モードでサポートされていない場合にのみ、シングル ユーザー アクセス モードを使用してください。
  • すべてのワークロードに新しい Databricks Runtime バージョンと Unity Catalog を使用します。

次の表は、Databricks Runtime のバージョンと Unity Catalog の有効化別に整理された推奨事項を示しています。

環境 推奨事項
Databricks Runtime 13.3 LTS 以降と Unity Catalog Unity Catalog ボリュームに init スクリプトを格納します。
Databricks Runtime 11.3 LTS 以降で Unity Catalog なし init スクリプトをワークスペース ファイルとして格納します。 (ファイル サイズの制限は 500 MB です)。
Databricks Runtime 10.4 LTS 以下 クラウド オブジェクト ストレージを使用して init スクリプトを格納します。

Azure Databricks でサポートされている init スクリプトの種類は何ですか?

Azure Databricks では、クラスター スコープとグローバルの 2 種類の init スクリプトがサポートされていますが、クラスター スコープの init スクリプトを使用することをお勧めします。

  • クラスタースコープ: スクリプトを使用して構成された各クラスターで実行されます。 これは、init スクリプトを実行するための推奨される方法です。 クラスター スコープの init スクリプトの使用に関する記事を参照してください。
  • グローバル: シングル ユーザー アクセス モードまたは分離なしの共有アクセス モードで構成されたワークスペース内のすべてのクラスターで実行します。 これらの init スクリプトは、ライブラリの競合など、予期しない問題を引き起こす可能性があります。 グローバル init スクリプトを作成できるのはワークスペース管理者ユーザーのみです。 「グローバル init スクリプトを使用する」を参照してください。

任意の init スクリプトを変更するたびに、スクリプトの影響を受けるすべてのクラスターを再起動する必要があります。

グローバル init スクリプトは、クラスター スコープの init スクリプトの前に実行されます。

重要

従来のグローバル スクリプトと従来のクラスターの名前付き init スクリプトは、他の init スクリプトの前に実行されます。 これらの init スクリプトはサポートが終了していますが、2023 年 2 月 21 日より前に作成されたワークスペースに存在する可能性があります。 「クラスター名付き init スクリプト (レガシ)」と「グローバル init スクリプト (レガシ)」を参照してください。

init スクリプトはどこにインストールできますか?

init スクリプトは、ワークスペース ファイル、Unity Catalog ボリューム、クラウド オブジェクト ストレージから保存および構成できますが、init スクリプトはすべてのクラスター構成でサポートされているわけではなく、すべてのファイルを init スクリプトから参照できるわけではありません。 init スクリプトの環境に関する推奨事項については、「init スクリプトの推奨事項」を参照してください。

次の表は、ソースの場所とクラスター アクセス モードに基づく init スクリプトのサポートを示しています。 一覧表示されている Databricks Runtime バージョンは、組み合わせを使用するために必要な最小バージョンです。 クラスター アクセス モードの詳細については、「アクセス モード」を参照してください。

Note

共有アクセス モードでは、管理者が allowlist を追加する必要があります。 「共有コンピューティングでライブラリと init スクリプトを許可リストに載せる」を参照してください。

共有アクセス モード シングル アクセス モード 分離なし共有アクセス モード
ワークスペース ファイル サポートされていません すべてのサポートされている Databricks Runtime バージョン。

11.3 LTS 以前のバージョンでは、他のワークスペース ファイルを参照する init スクリプトはサポートされていません。
すべてのサポートされている Databricks Runtime バージョン。
Volumes 13.3 LTS 以降 13.3 LTS 以降 サポートされていません
クラウド ストレージ 13.3 LTS 以降 すべてのサポートされている Databricks Runtime バージョン すべてのサポートされている Databricks Runtime バージョン

DBFS から init スクリプトを移行する

警告

DBFS 上の Init スクリプトは有効期間が終了し、使用できなくなります。 コンピューティングを開始する前に、init スクリプトをサポートされている場所に移行する必要があります。 unity カタログ ボリューム、ワークスペース ファイル、またはクラウド オブジェクト ストレージに init スクリプトを格納します。

DBFS から init スクリプトを移行する必要があるユーザーは、次のガイドを使用できます。 必ず実際の構成に適したターゲットを特定してください。 「init スクリプトに関する推奨事項」を参照してください。