共用方式為


Init 腳本記錄

Init 腳本開始和完成事件會在叢集事件記錄檔中擷取。 詳細數據會在叢集記錄中擷取。 全域 init 腳本建立、編輯和刪除事件也會在帳戶層級診斷記錄中擷取。

Init 腳本事件

叢集事件記錄會 擷取兩個 init 腳本事件: INIT_SCRIPTS_STARTEDINIT_SCRIPTS_FINISHED,指出哪些腳本已排程執行且已順利完成。 INIT_SCRIPTS_FINISHED 也會擷取執行持續時間。

索引鍵會以記錄事件詳細數據指出全域 init 腳本,而叢集範圍的 init 腳本則以索引鍵 "global""cluster"表示。

注意

叢集事件記錄檔不會記錄每個叢集節點的 init 腳本事件;只選取一個節點來表示所有節點。

Where 是否寫入 init 腳本記錄?

如果叢集記錄傳遞已設定為叢集,則 init 腳本記錄會寫入 。/<cluster-log-path>/<cluster-id>/init_scripts

叢集中每個容器的記錄都會寫入名為 init_scripts/<cluster-id>_<container-ip>的子目錄。

例如,如果 cluster-log-path 是 set 到 cluster-logs,則特定容器的記錄路徑會是:dbfs:/cluster-logs/<cluster-id>/init_scripts/<cluster-id>_<container-ip>

如果叢集設定為將記錄寫入 DBFS,您可以使用文件系統公用程式 (dbutils.fs) 或 DBFS CLI (舊版)來檢視記錄。 例如,如果叢集識別碼為 1001-234039-abcde739

dbfs ls dbfs:/cluster-logs/1001-234039-abcde739/init_scripts
1001-234039-abcde739_10_97_225_166
1001-234039-abcde739_10_97_231_88
1001-234039-abcde739_10_97_244_199
dbfs ls dbfs:/cluster-logs/1001-234039-abcde739/init_scripts/1001-234039-abcde739_10_97_225_166
<timestamp>_<log-id>_<init-script-name>.sh.stderr.log
<timestamp>_<log-id>_<init-script-name>.sh.stdout.log

沒有設定叢集記錄傳遞時,會將記錄寫入 /databricks/init_scripts。 您可以在筆記本中使用標準 shell 指令來操作 list 並檢視日誌。

%sh
ls /databricks/init_scripts/
cat /databricks/init_scripts/<timestamp>_<log-id>_<init-script-name>.sh.stdout.log

每次叢集啟動時,它會將記錄寫入 init 腳本記錄檔資料夾。

重要

建立叢集並啟用叢集記錄傳遞的任何使用者,都可以檢視來自全域 init 腳本的 stderrstdout 輸出。 您應該確定您的全域 init 腳本不會輸出任何敏感性資訊。

診斷記錄中的Init腳本事件

Azure Databricks 診斷記錄會擷取全域 init 腳本,在事件類型 globalInitScripts下建立、編輯和刪除事件。 請參閱 全域 init 腳本事件