分享方式:


設定筆記本結果儲存位置

貴組織的隱私權需求可能會要求您將所有互動式筆記本結果儲存在雲端帳戶的工作區儲存體帳戶中,而不是儲存在由 Databricks 管理的控制平面預設位置 (部分筆記本命令結果的儲存位置)。

筆記本命令輸出會依筆記本執行方式而以不同的方式儲存。

根據預設,當您在筆記本中按下 [執行],以互動方式執行筆記本時:

  • 如果結果的大小很小,就會儲存在 Azure Databricks 控制平面中,和筆記本的命令內容和中繼資料相同。
  • 較大的結果會儲存在 Azure 訂用帳戶的工作區儲存體帳戶中。 Azure Databricks 會自動建立工作區儲存體帳戶。 Azure Databricks 會針對工作區系統資料和工作區的 DBFS 根目錄使用此儲存體區域。 筆記本結果會儲存在工作區系統資料儲存體中,使用者無法存取。 請參閱 工作區儲存體帳戶

當您將筆記本作為作業執行時,您可藉由排程筆記本或按下 [作業] 頁面上的 [立即執行],將所有結果儲存在帳戶的工作區儲存體帳戶中。

不論結果大小為何,您都可以將工作區其設定為將所有互動式筆記本結果儲存在雲端帳戶中。

設定互動式筆記本結果的儲存位置

您可以將工作區設定為將所有互動式筆記本結果儲存在 Azure 訂用帳戶中,而不是儲存在控制平面。 您可以使用管理員設定頁面REST API 來啟用此功能。 此設定不會影響您以作業的形式執行筆記本,其結果預設已儲存在您的 Azure 訂用帳戶中。

請記住以下幾點:

  • 此組態的變更僅適用於新結果。 這不會移動現有的筆記本結果。
  • 有關結果的部分中繼資料 (例如圖表資料行名稱) 會繼續儲存在控制平面中。
  • 雲端提供者可能會收取額外的儲存體費用。
  • 讀取和寫入結果時,可能會增加網路和 IO 延遲。

使用管理員設定頁面將所有筆記本結果儲存在您的帳戶中

作為工作區系統管理員:

  1. 移至 [設定頁面]。
  2. 按一下 [安全性] 索引標籤。
  3. 按下 [將互動式筆記本結果儲存在客戶帳戶中] 開關。

使用 REST API 將所有筆記本結果儲存在您的帳戶中

若要將工作區設定為使用 REST API 將所有筆記本結果儲存在 Azure 訂用帳戶中:

  • 您必須是工作區的系統管理員。
  • 您需要個人存取權杖。 下列指示會假設您已使用個人存取權杖來設定 .netrc 檔案,以便讓您在 curl 命令中使用 -n 選項。 如需詳細資料,請參閱上方參考文章。

若要取得目前的設定,請呼叫 GET /workspace-conf 端點,並將 設定 keysstoreInteractiveNotebookResultsInCustomerAccount

curl -n --request GET \
  'https://<databricks-instance>/api/2.0/workspace-conf?keys=storeInteractiveNotebookResultsInCustomerAccount'

若要讓您的工作區在 Azure 訂用帳戶中儲存互動式筆記本結果,請呼叫 PATCH /workspace-conf 端點,並在要求本文中將 storeInteractiveNotebookResultsInCustomerAccount 設定為 true

curl -n --request PATCH \
 'https://<databricks-instance>/api/2.0/workspace-conf' \
 --header 'Content-Type: text/plain' \
 --data-raw '{
    "storeInteractiveNotebookResultsInCustomerAccount": "true"
}'

若要停用此功能,請將相同旗標設定為 false

curl -n --request PATCH \
  'https://<databricks-instance>/api/2.0/workspace-conf' \
 --header 'Content-Type: text/plain' \
 --data-raw '{
    "storeInteractiveNotebookResultsInCustomerAccount": "false"
}'