本页介绍如何在干净的会议室中运行笔记本。 笔记本是协作者用来在协作中运行数据分析的界面。
若要了解如何将笔记本添加到清洁室,请参阅创建清洁室。
开始之前
若要在干净房间管理和运行笔记本,必须:
任务 | 要求 | 所需权限 | DESCRIPTION |
---|---|---|---|
管理笔记本 | 没有唯一的要求 |
对于笔记本上传者:
|
清理室中笔记本的常规管理任务。 |
运行笔记本 | 除上传者外,每个协作者都必须批准笔记本。 指定的运行者运行笔记本。 | EXECUTE CLEAN ROOM TASK |
如果笔记本的运行者未上传该笔记本,则必须批准后才能运行。 可以通过默认自动审批规则自动执行此显式审批。 请参阅 自动审批规则。 |
批准或拒绝笔记本 | 没有 | MODIFY CLEAN ROOM |
允许你在运行笔记本之前批准或拒绝运行笔记本。 |
管理自动审批规则 | 只能对由其他协作者创作而非由执行者创作的笔记本应用自动审批。 | 净室所有者或 MANAGE 特权。 |
控制笔记本的自动审批。 |
协作者能力 | 一个干净的房间最多可以包括 10 个协作者。 | 没有 | 这包括创建者和最多 9 个其他协作者。 |
创建者在其 Databricks 帐户中会自动分配为清洁室的所有者。 协作者组织的元存储管理员会自动获得其 Databricks 帐户中清理室的所有权。 你可以转让所有权。 请参阅管理 Unity Catalog 对象所有权。
上传笔记本和指定执行器
当协作者将笔记本添加到清理室时:
他们被视为那个笔记本在洁净室的上传者。
添加笔记本时,上传者必须指定哪个协作者是笔记本的指定运行者。 允许指定的运行者运行笔记本。
只能有一个指定的跑步者。
你可以将自己设定为笔记本的指定负责人。
在洁净室中批准笔记本
在执行之前,除了上传者,每个笔记本都需要所有协作者的批准。
检查笔记本的审阅状态:
在 Azure Databricks 工作区中,单击
目录。
在“快速访问”页上,单击“数据清洁房间 >”按钮。
从列表中选择清洁室。
选择要运行的笔记本。
单击右侧的“ 人员 ”图标以展开笔记本详细信息页的协作者部分。
“ 审阅 ”部分清楚地概述了哪些协作者已批准、拒绝或尚未审阅笔记本。
当笔记本被更改为以前版本时,可以查看差异视图。
运行笔记本版本时,如下所示:
- 只能运行最新版本的笔记本。
- 只能批准或拒绝最新版本的笔记文件。
- 修改笔记本时,无论是添加新内容还是更改运行器指定,都会创建一个新版本,这会重置所有协作者的审阅状态。
若要访问笔记本的差异视图,
单击右侧的 “时钟”图标 ,展开笔记本详细信息页的版本历史记录。
批准或拒绝笔记本:
单击右上角的 “审阅 ”按钮。
选择批准或拒绝该工作簿。
每次笔记本版本上,最多可以更新审阅 9 次,每个协作者最多可以更新 10 次评论。 然而,即使已达到审阅限制,您也总是可以拒绝笔记本。
自动审批规则
协作者可以为其清理室设置自动审批规则。 通过自动审批,如下所示:
- 只能为其他用户上传的笔记本创建自动审批规则,而不能为自己的笔记本创建自动审批规则。 如果你是指定的执行者,则自行编写的笔记本不需要自我审批。
- 在两人使用的洁净室中,您可以自动批准由其他协作者创作的笔记本文档。
- 在具有两个以上协作者的干净房间中,可以自动批准 任何人 或特定协作者创作的笔记本。
- 每个自动审批规则指定已批准的笔记本的单个运行程序。
- 当你是指定的执行者时,笔记本被另一位协作者上传的默认设置是自动审批。
- 对于指定运行人员是其他协作者的清洁室,自动审批是可选择的。
- 可以随时添加、更新或删除自动审批。
如何管理自动审批
在 Azure Databricks 工作区中,单击
目录。
在“快速访问”页上,单击“数据清洁房间 >”按钮。
在 “清理房间 ”页上,单击 “齿轮”图标
选择“ 配置自动审批”。
根据匹配的权限规则配置自动笔记本审批。
在清洁室中运行笔记本
要运行笔记本,请确保所有必要的批准已经到位,并且您是指定的操作员。 然后:
- 在“笔记本”下,单击笔记本以在预览模式下将其打开。
- 单击“运行”按钮。
- 您只能运行那些您被指定为运行者并且已经获得批准的笔记本。
- 无需手动批准自己创作的笔记本以运行它们。
- 可以弃用你所创作的笔记本。 必须先重新批准它,然后才能运行。
- 您可以管理每个笔记本的自动批准设置。 请参阅 自动审批规则。
- (可选)在“运行包含参数的笔记本”对话框中,单击“+ 添加”将参数值传递给笔记本作业任务。
- 查看笔记本。
- 单击 “运行” 。
- 单击“查看详细信息”以查看运行进度。 或者,可以通过转到此页面上的 “运行 ”或单击工作区边栏中的 “作业和管道 ”并转到“ 作业运行 ”选项卡来查看运行进度。
- 查看笔记本运行的结果。 运行完成后会显示笔记本结果。 若要查看过去的运行,请转到“运行”并单击“开始时间”列中的链接。
即使所有协作者都批准了笔记本,只有上传者指定为“运行者”的协作者才能运行它。
注意
cr_creator_input_catalog
和 cr_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}}
,那么在下游笔记本任务执行时可以从隔离环境引用这些值。 转到笔记本任务,在“参数”下选择值。
例如,您可以创建一个工作流,通过执行以下步骤,将动态生成的输出模式名称在任务之间传播:
创建任务类型 “清理室”笔记本 的任务,该笔记本运行包含以下任务值设置的笔记本:
dbutils.jobs.taskValues.set(key="output_schema", value=dbutils.widgets.get("cr_output_schema"))
创建一个后续任务来引用
output_schema
值以处理输出。