設定筆記本結果儲存位置

貴組織的隱私權需求可能需要將所有互動式筆記本結果儲存在雲端帳戶的根 Azure 儲存體 實例中,而不是儲存某些筆記本命令結果的 Databricks 管理控制平面預設位置。

根據您執行筆記本的方式,筆記本命令輸出會以不同的方式儲存。

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

  • 如果結果很小,它們會儲存在 Azure Databricks 控制平面中,以及筆記本的命令內容和元數據。
  • 較大的結果會儲存在您的 Azure 訂用帳戶中工作區的根 Azure 儲存體 實例中。 Azure Databricks 會自動建立根 Azure 儲存體 實例。 Azure Databricks 會針對工作區系統數據和工作區的 DBFS 根目錄使用此儲存區域。 筆記本結果會儲存在工作區系統數據記憶體中,用戶無法存取。
  • 繪圖影像和其他二進位物件一律會分別儲存在 DBFS 根目錄的 FileStore 區域中。

當您以作業身分執行筆記本時,藉由排程或按兩下 [作業] 頁面上的 [立即執行],所有結果都會儲存在您帳戶中工作區的根 Azure 儲存體 實例中。

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

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

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

請記住以下幾點:

  • 此組態的變更僅適用於新結果。 不會移動現有的筆記本結果。
  • 有關結果的一些元數據,例如圖表柱名,會繼續儲存在控制平面中。
  • 雲端提供者可能會產生增加的記憶體成本。
  • 讀取和寫入結果時,可能會發生網路和 IO 延遲增加。

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

身為工作區系統管理員:

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

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

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

  • 您必須是工作區管理員。
  • 您需要 個人存取令牌。 下列指示假設您已使用個人存取令牌來設定 .netrc 檔案,讓您可以在命令中使用 -ncurl 選項。 如需詳細資訊,請參閱上述文章。

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

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

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

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"
}'