在清洁室中运行笔记本

本页介绍如何在干净的会议室中运行笔记本。 笔记本是协作者用来在协作中运行数据分析的界面。

若要了解如何将笔记本添加到清洁室,请参阅创建清洁室

开始之前

若要在干净房间管理和运行笔记本,必须:

任务 要求 所需权限 DESCRIPTION
管理笔记本 没有唯一的要求 对于笔记本上传者:
  • 如果他们是指定的运行者,他们必须拥有 EXECUTE CLEAN ROOM TASKMODIFY CLEAN ROOM 特权。
  • 如果协作者是指定的执行者,则上传者必须具有 MODIFY CLEAN ROOM 权限。
清理室中笔记本的常规管理任务。
运行笔记本 除上传者外,每个协作者都必须批准笔记本。 指定的运行者运行笔记本。 EXECUTE CLEAN ROOM TASK 如果笔记本的运行者未上传该笔记本,则必须批准后才能运行。 可以通过默认自动审批规则自动执行此显式审批。 请参阅 自动审批规则
批准或拒绝笔记本 没有 MODIFY CLEAN ROOM 允许你在运行笔记本之前批准或拒绝运行笔记本。
管理自动审批规则 只能对由其他协作者创作而非由执行者创作的笔记本应用自动审批。 净室所有者或 MANAGE 特权。 控制笔记本的自动审批。
协作者能力 一个干净的房间最多可以包括 10 个协作者。 没有 这包括创建者和最多 9 个其他协作者。

创建者在其 Databricks 帐户中会自动分配为清洁室的所有者。 协作者组织的元存储管理员会自动获得其 Databricks 帐户中清理室的所有权。 你可以转让所有权。 请参阅管理 Unity Catalog 对象所有权

上传笔记本和指定执行器

当协作者将笔记本添加到清理室时:

  • 他们被视为那个笔记本在洁净室的上传者。

  • 添加笔记本时,上传者必须指定哪个协作者是笔记本的指定运行者。 允许指定的运行者运行笔记本。

  • 只能有一个指定的跑步者。

  • 你可以将自己设定为笔记本的指定负责人。

    自指定运行程序。

请参阅 步骤 3。将数据资产和笔记本添加到清理室

在洁净室中批准笔记本

在执行之前,除了上传者,每个笔记本都需要所有协作者的批准。

检查笔记本的审阅状态:

  1. 在 Azure Databricks 工作区中,单击 “数据”图标。目录

  2. 在“快速访问”页上,单击“数据清洁房间 >”按钮。

  3. 从列表中选择清洁室。

  4. 选择要运行的笔记本。

  5. 单击右侧的“ 人员 ”图标以展开笔记本详细信息页的协作者部分。

  6. 审阅 ”部分清楚地概述了哪些协作者已批准、拒绝或尚未审阅笔记本。

    评论部分。

当笔记本被更改为以前版本时,可以查看差异视图。

运行笔记本版本时,如下所示:

  • 只能运行最新版本的笔记本。
  • 只能批准或拒绝最新版本的笔记文件。
  • 修改笔记本时,无论是添加新内容还是更改运行器指定,都会创建一个新版本,这会重置所有协作者的审阅状态。

若要访问笔记本的差异视图,

  1. 单击右侧的 “时钟”图标 ,展开笔记本详细信息页的版本历史记录。

    对比视图。

批准或拒绝笔记本:

  1. 单击右上角的 “审阅 ”按钮。

  2. 选择批准拒绝该工作簿。

    批准或拒绝笔记。

每次笔记本版本上,最多可以更新审阅 9 次,每个协作者最多可以更新 10 次评论。 然而,即使已达到审阅限制,您也总是可以拒绝笔记本。

自动审批规则

协作者可以为其清理室设置自动审批规则。 通过自动审批,如下所示:

  • 只能为其他用户上传的笔记本创建自动审批规则,而不能为自己的笔记本创建自动审批规则。 如果你是指定的执行者,则自行编写的笔记本不需要自我审批。
  • 在两人使用的洁净室中,您可以自动批准由其他协作者创作的笔记本文档。
  • 在具有两个以上协作者的干净房间中,可以自动批准 任何人 或特定协作者创作的笔记本。
  • 每个自动审批规则指定已批准的笔记本的单个运行程序。
  • 当你是指定的执行者时,笔记本被另一位协作者上传的默认设置是自动审批。
  • 对于指定运行人员是其他协作者的清洁室,自动审批是可选择的。
  • 可以随时添加、更新或删除自动审批。

如何管理自动审批

  1. 在 Azure Databricks 工作区中,单击 “数据”图标。目录

  2. 在“快速访问”页上,单击“数据清洁房间 >”按钮。

  3. “清理房间 ”页上,单击 “齿轮”图标

  4. 选择“ 配置自动审批”。

    自动审批。

  5. 根据匹配的权限规则配置自动笔记本审批。

    配置自动审批。

在清洁室中运行笔记本

要运行笔记本,请确保所有必要的批准已经到位,并且您是指定的操作员。 然后:

  1. 在“笔记本”下,单击笔记本以在预览模式下将其打开。
  2. 单击“运行”按钮。
    • 您只能运行那些您被指定为运行者并且已经获得批准的笔记本。
    • 无需手动批准自己创作的笔记本以运行它们。
    • 可以弃用你所创作的笔记本。 必须先重新批准它,然后才能运行。
    • 您可以管理每个笔记本的自动批准设置。 请参阅 自动审批规则
  3. (可选)在“运行包含参数的笔记本”对话框中,单击“+ 添加将参数值传递给笔记本作业任务。
  4. 查看笔记本。
  5. 单击 “运行”
  6. 单击“查看详细信息”以查看运行进度。 或者,可以通过转到此页面上的 “运行 ”或单击工作区边栏中的 “作业和管道 ”并转到“ 作业运行 ”选项卡来查看运行进度。
  7. 查看笔记本运行的结果。 运行完成后会显示笔记本结果。 若要查看过去的运行,请转到“运行”并单击“开始时间”列中的链接

即使所有协作者都批准了笔记本,只有上传者指定为“运行者”的协作者才能运行它。

注意

cr_creator_input_catalogcr_collaborator_input_catalog 参数会在运行时自动传递到无尘室笔记本中。 可以使用这些参数对示例表进行本地测试。 有关作业任务参数的详细信息,请参阅参数化作业

使用输出表共享笔记本输出

输出表是笔记本运行生成的临时只读表,并共享到笔记本运行程序的元存储。 如果笔记本创建输出表,则笔记本运行程序可以在输出目录中访问它,并将其与工作区中的其他用户共享。 请参阅 在 Databricks Clean Room 中创建和使用输出表。

使用 Lakeflow 作业运行洁净室笔记本

可以使用 Lakeflow 作业在输出表上运行笔记本和执行任务,从而生成涉及清理室资产的复杂工作流。 只能创建由你运行并获得完全批准的清洁室笔记本任务。 这些功能尤其使此类工作流成为可能:

  • 使用 “清理室”笔记本任务类型 ,可以选择并运行清理室笔记本作为工作流任务。 请参阅在清洁室中运行笔记本
  • 工作流启动的笔记本运行可以生成 可由其他工作流任务引用的输出表 。 请参阅 在 Databricks Clean Room 中创建和使用输出表。 -Lakeflow 作业可以使用 任务值,这些任务值 将作业参数值传递给清理室笔记本或捕获清理室笔记本输出,并将该输出传递给其他工作流任务。 请参阅使用任务值在任务之间传递信息
  • 清洁室输出架构名称是自动生成的。 如果在参数中包含{{tasks.<your_task_name>.output.schema_name}}{{tasks.<your_task_name>.output.catalog_name}},那么在下游笔记本任务执行时可以从隔离环境引用这些值。 转到笔记本任务,在“参数”下选择值。

例如,您可以创建一个工作流,通过执行以下步骤,将动态生成的输出模式名称在任务之间传播:

  1. 创建任务类型 “清理室”笔记本 的任务,该笔记本运行包含以下任务值设置的笔记本:

    dbutils.jobs.taskValues.set(key="output_schema", value=dbutils.widgets.get("cr_output_schema"))
    
  2. 创建一个后续任务来引用output_schema值以处理输出。