管理工作区存储

你的组织的隐私要求可能要求你:

  • 偶尔清除已删除的对象,例如笔记本单元格、整个笔记本、试验或群集日志。
  • 将所有交互式笔记本结果存储到云帐户的根 Azure 存储实例,而不是存储到 Databricks 管理的控制平面默认位置(其中存储着一些笔记本命令结果)。

清除工作区对象

你可以删除工作区对象,例如整个笔记本、单个笔记本单元、单个笔记本注释和试验,但它们是可恢复的。

若要永久清除已删除的工作区对象,请执行以下操作:

  1. 转到管理控制台

  2. 单击“工作区设置”选项卡。

  3. 在“存储”部分,单击“永久清除工作区存储”旁边的“清除”按钮。

  4. 单击清除按钮。

  5. 单击“是,清除”进行确认。

    警告

    清除后,工作区对象将无法恢复。

清除笔记本修订历史记录

若要永久清除笔记本修订历史记录,请执行以下操作:

  1. 转到管理控制台

  2. 单击“工作区设置”选项卡。

  3. 在“永久清除所有修订历史记录”旁边,选择要清除的时间范围。 默认值为“过去 24 小时及更早的时间”。

  4. 在时间范围旁边,单击“清除”按钮。

  5. 单击清除按钮。

  6. 单击“是,清除”进行确认。

    警告

    清除后,修订历史记录将无法恢复。

清除群集日志

若要为工作区中的所有群集永久清除 Spark 驱动程序日志和历史指标快照,请执行以下操作:

  1. 转到管理控制台

  2. 单击“工作区设置”选项卡。

  3. 在“永久清除群集日志”旁边,单击“清除”按钮。

  4. 单击“是,清除”进行确认。

    警告

    清除后,群集日志将无法恢复。

修改笔记本结果的存储位置

笔记本命令输出的存储方式因笔记本运行方式而异。

在默认配置中:

  • 通过单击笔记本中的“运行” 以交互方式运行笔记本时:
    • 如果结果很小,则会将它们以及笔记本的命令内容和元数据存储在 Azure Databricks 控制平面中。
    • 较大的结果存储在 Azure 订阅的工作区根 Azure 存储实例中。 Azure Databricks 会自动创建根 Azure 存储实例。 Azure Databricks 将此存储区域用于工作区系统数据和你的工作区的 DBFS 根。 笔记本结果存储在工作区系统数据存储中,用户无法访问该存储。
    • 绘图图像和其他二进制对象始终单独存储在 DBFS 根FileStore 区域中。
  • 通过在“作业”页面上计划作业或单击“立即运行”来“将笔记本作为作业运行”时,所有结果都存储在帐户的工作区根 Azure 存储实例中。

你可以将工作区配置为将所有交互式笔记本结果存储在云帐户中,而不考虑结果大小。

配置交互式笔记本结果的存储位置

你可以将工作区配置为将所有交互式笔记本结果存储在 Azure 订阅中,而不是控制平面中。 可以使用管理控制台REST API 启用此功能。 此配置对作为作业运行的笔记本没有影响,这些笔记本的结果已默认存储在 Azure 订阅中。

请牢记以下几点:

  • 对此配置所做的更改仅对新结果有效。 不会移动现有笔记本结果。
  • 有关结果的某些元数据(例如图表列名称)继续存储在控制平面中。
  • 可能会在云提供商那里产生更高的存储成本。
  • 在读取和写入结果时,可能会出现网络和 IO 延迟增加的情况。

使用管理控制台将所有笔记本结果存储在帐户中

以工作区管理员身份执行以下操作:

  1. 转到管理控制台
  2. 单击“工作区设置”选项卡。
  3. 在“高级”部分,单击“将交互式笔记本结果存储在客户帐户中”开关。
  4. 单击“确认” 。

使用 REST API 将所有笔记本结果存储在帐户中

若要使用 REST API 将工作区配置为将所有笔记本结果存储在 Azure 订阅中:

  • 你必须是工作区管理员。
  • 你需要一个个人访问令牌。 下面的说明假定你已配置了一个包含个人访问令牌的 .netrc 文件,因此你可以在 curl 命令中使用 -n 选项。 有关详细信息,请参阅上面提到的文章。

若要获取当前设置,请调用 GET /workspace-conf 终结点并将 keys 设置为 storeInteractiveNotebookResultsInCustomerAccount

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