全域初始化指令碼

重要

Databricks 建議將所有 init 腳本設定為叢集範圍的 init 腳本,並使用叢集原則在工作區中管理它們。 請參閱 叢集範圍初始化指令碼

全域初始化指令碼會在工作區中設定專用 (先前為單一使用者) 或舊版無隔離共用存取模式的所有叢集上執行。 只有工作區管理員可以建立全域初始化指令碼。 您可以使用 UI 或 REST API 來建立它們。

重要

使用全域 init 腳本之前,請考慮下列事項:

  • 全域初始化腳本無法在 SQL 倉庫、 模型服務叢集或無伺服器運算上執行,包括 Lakeflow Spark 宣告式管線。 僅支援具備專用或無隔離共享存取模式的經典運算。
  • 新增連結庫或進行其他修改很容易造成非預期的影響。 盡可能改用叢集範圍的 init 腳本。
  • 建立叢集並啟用叢集記錄傳遞的任何使用者,都可以檢視來自全域 init 腳本的 stderrstdout 輸出。 您應該確定您的全域 init 腳本不會輸出任何敏感性資訊。

您可以透過設定 叢集記錄傳送 並檢查初始化指令碼記錄檔,對全域初始化指令碼進行疑難排解。 請參閱 初始化腳本日誌記錄

使用使用者介面新增全域初始化指令碼

若要使用管理員設定來設定全域 init 指令碼:

  1. 移至系統管理員設定,然後按兩下 [ 計算] 索引標籤。

  2. 按一下 管理(位於 全域初始化指令碼 旁)。

  3. 按一下 + 新增

  4. 為腳本命名,然後透過輸入、貼上,或將文字檔拖曳到 腳本 欄位中來輸入內容。

    注意

    init 腳本不能大於 64KB。 如果文稿超過該大小,當您嘗試儲存時會出現錯誤訊息。

  5. 如果您為工作區設定了多個全域 init 腳本,請設定新腳本的執行順序。

  6. 如果您想要在儲存之後針對所有新的和重新啟動的叢集啟用腳本,請切換 [已啟用]。

    重要

    當您新增全域 init 腳本或變更名稱、執行順序或啟用 init 腳本時,這些變更在您重新啟動叢集之前不會生效。

  7. 按一下新增

使用 Terraform 新增全域初始化指令碼

您可以使用 Databricks Terraform 提供程式databricks_global_init_script 來新增全域初始化指令碼。

使用者介面編輯全域初始化指令碼

  1. 移至系統管理員設定,然後按兩下 [ 計算] 索引標籤。
  2. 按一下 全域初始化指令碼 旁的 管理
  3. 按一下指令碼。
  4. 編輯文本。
  5. 按一下 [確認]

使用 API 設定全域初始化指令碼

工作區管理員可以使用 Global Init 腳本 API,新增、刪除、重新排序,以及取得工作區中全域 init 腳本的相關信息。