安排流水线
本文档介绍了如何安排 BigQuery 流水线,包括如何安排流水线和检查安排的流水线运行。
流水线由 Dataform 提供支持。
每个流水线时间表都由服务账号运行,您可以在创建时间表期间选择该账号。如需详细了解 Dataform 中的服务账号类型,请参阅 Dataform 中的服务账号简介。
您对数据流水线所做的更改会自动保存,但只有您和获准在项目中使用“Dataform 管理员”角色的用户才能看到这些更改。如需使用流水线的新版本更新时间表,您需要部署流水线。部署操作会更新时间表,以使用您当前的流水线版本。时间表始终会运行最新的部署版本。
包含笔记本的流水线的时间表使用默认运行时规范。在包含笔记本的流水线的定期运行期间,BigQuery 会将笔记本输出写入在创建时间表期间选择的 Cloud Storage 存储分区。
准备工作
开始之前,请先创建流水线。
启用流水线调度
如需安排流水线,您必须向计划用于流水线时间表的服务账号授予以下角色:
- Service Account User (
roles/iam.serviceAccountUser
) - 请按照针对服务账号授予单个角色中的说明,将服务账号添加为其主账号。换句话说,将服务账号作为主账号添加到同一服务账号。然后,向此主账号授予 Service Account User 角色。
如果您的流水线包含 SQL 查询,您必须向计划用于流水线时间表的服务账号授予以下角色:
- BigQuery Job User (
roles/bigquery.jobUser
) - 请按照针对项目授予单个角色中的说明,针对您的数据流读取数据的项目向服务账号授予 BigQuery Job User 角色。
- BigQuery Data Viewer (
roles/bigquery.dataViewer
) - 请按照针对项目授予单个角色中的说明,针对您的数据流读取数据的项目向服务账号授予 BigQuery Data Viewer 角色。
- BigQuery Data Editor (
roles/bigquery.dataEditor
) - 请按照针对项目授予单个角色中的说明,针对您的数据流写入数据的项目向服务账号授予 BigQuery Data Editor 角色。
如果您的流水线包含笔记本,您必须向计划用于流水线时间表的服务账号授予以下角色:
- Notebook Executor User (
roles/aiplatform.notebookExecutorUser
) - 请按照针对项目授予单个角色中的说明,针对所选项目向您的服务账号授予 Notebook Executor User 角色。
- Storage Admin (
roles/storage.admin
) - 请按照将主账号添加到存储分区级层政策中中的说明,将您的服务账号作为主账号添加到您计划用于存储在安排的流水线运行中执行的笔记本的输出的 Cloud Storage 存储分区,并向此主账号授予 Storage Admin 角色。
此外,您还必须向默认 Dataform 服务账号授予以下角色:
- Service Account Token Creator (
roles/iam.serviceAccountTokenCreator
) - 请按照向服务账号授予令牌创建访问权限中的说明,将默认 Dataform 服务账号作为主账号添加到您的服务账号,并向此主账号授予 Service Account Token Creator 角色。
如需详细了解 Dataform 中的服务账号,请参阅 Dataform 中的服务账号简介。
所需的角色
如需获得管理流水线所需的权限,请让您的管理员为您授予以下 IAM 角色:
-
删除流水线:流水线的 Dataform Admin (
roles/dataform.Admin
) -
创建、修改、运行和删除流水线时间表:流水线的 Dataform Admin (
roles/dataform.Admin
) -
查看和运行流水线:项目的 Dataform Viewer (
roles/dataform.Viewer
) -
查看流水线时间表:项目的 Dataform Editor (
roles/dataform.Editor
)
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
如需详细了解 Dataform IAM,请参阅使用 IAM 控制访问权限。
如需在安排流水线时使用 Colab 笔记本运行时模板,您需要拥有 Notebook Runtime User (roles/aiplatform.notebookRuntimeUser
) 角色。
创建流水线时间表
如需创建流水线时间表,请按以下步骤操作:
Explorer 窗格
在 Google Cloud 控制台中,转到 BigQuery 页面。
在探索器窗格中,展开您的项目和流水线文件夹,然后选择一个流水线。
点击时间表。
在安排流水线窗格中的时间表名称字段中,输入时间表的名称。
在服务账号字段中,选择一个服务账号。
如果您的流水线包含一个笔记本,请在笔记本选项部分的运行时模板字段中,选择一个 Colab 笔记本运行时模板或默认运行时规范。如需详细了解如何创建 Colab 记事本运行时模板,请参阅创建运行时模板。
如果您的流水线包含笔记本,请在笔记本选项部分的 Cloud Storage 存储分区字段中,点击浏览,然后选择或创建一个 Cloud Storage 存储分区,用于在流水线中存储笔记本的输出。
您选择的服务账号必须在所选存储分区中获得 Storage Admin IAM 角色。如需了解详情,请参阅启用流水线调度。
在时间表频率部分中,执行以下操作:
- 在重复菜单中,选择安排的流水线运行的频率。
- 在时间字段中,为安排的流水线运行输入时间。
- 在时区菜单中,选择时间表的时区。
点击创建时间表。
创建时间表后,系统会自动部署流水线的当前版本。如需使用流水线的新版本更新时间表,请部署流水线。
流水线的最新部署版本会按所选的时间和频率运行。
Scheduling(安排)页面
在 Google Cloud 控制台中,前往时间安排页面。
点击创建,然后从菜单中选择流水线时间表。
在安排流水线窗格中,选择要安排的流水线。
在时间表名称字段中,输入时间表的名称。
在服务账号字段中,选择一个 Dataform 服务账号。
如果您的流水线包含一个笔记本,请在笔记本选项部分的运行时模板字段中,选择一个 Colab 笔记本运行时模板或默认运行时规范。如需详细了解如何创建 Colab 记事本运行时模板,请参阅创建运行时模板。
如果您的流水线包含笔记本,请在 Cloud Storage 存储分区字段中点击浏览,然后选择或创建一个 Cloud Storage 存储分区,用于在流水线中存储笔记本的输出。
您选择的服务账号必须在所选存储分区中获得 Storage Admin IAM 角色。如需了解详情,请参阅启用流水线调度。
在时间表频率部分中,执行以下操作:
- 在重复菜单中,选择安排的管道运行的频率。
- 在时间字段中,为安排的流水线运行输入时间。
- 在时区菜单中,选择时间表的时区。
点击创建时间表。
部署流水线
部署流水线操作会使用流水线的当前版本更新其时间表。时间表会运行流水线的最新部署版本。
如需部署流水线,请按以下步骤操作:
在 Google Cloud 控制台中,转到 BigQuery 页面。
在探索器窗格中,展开您的项目和流水线文件夹,然后选择一个流水线。
点击部署。
相应的时间表会使用流水线的当前版本进行更新。流水线的最新部署版本会在安排的时间运行。
停用时间表
如需对所选流水线暂停安排的运行,而不删除时间表,您可以停用时间表。
如需为所选流水线停用时间表,请按以下步骤操作:
Explorer 窗格
在 Google Cloud 控制台中,转到 BigQuery 页面。
在探索器窗格中,展开您的项目和流水线文件夹,然后选择一个流水线。
点击查看时间表。
在时间表详情表格的时间表状态行中,点击已启用时间表切换开关。
Scheduling(安排)页面
在 Google Cloud 控制台中,前往时间安排页面。
点击所选流水线的名称。
在时间表详情页面上,点击停用。
启用时间表
如需对停用的流水线时间表恢复安排的运行,请按以下步骤操作:
Explorer 窗格
在 Google Cloud 控制台中,转到 BigQuery 页面。
在探索器窗格中,展开您的项目和流水线文件夹,然后选择一个流水线。
点击查看时间表。
在时间表详情表格中的时间表状态行中,点击已停用时间表切换开关。
Scheduling(安排)页面
在 Google Cloud 控制台中,前往时间安排页面。
点击所选流水线的名称。
在时间表详情页面上,点击启用。
手动运行已部署的流水线
当您手动运行按所选时间表部署的流水线时,BigQuery 会独立于时间表执行一次已部署的流水线。
如需手动运行已部署的流水线,请按以下步骤操作:
在 Google Cloud 控制台中,前往时间安排页面。
点击所选流水线时间表的名称。
在时间表详情页面上,点击运行。
查看所有流水线时间表
如需查看 Google Cloud 项目中的所有流水线时间表,请按以下步骤操作:
在 Google Cloud 控制台中,前往时间安排页面。
可选:如需显示包含流水线时间表详细信息的其他列,请点击
Column display options(列显示选项),然后选择列并点击 OK(确定)。
查看流水线时间表详情
如需查看所选流水线时间表的详细信息,请按以下步骤操作:
Explorer 窗格
在 Google Cloud 控制台中,转到 BigQuery 页面。
在探索器窗格中,展开您的项目和流水线文件夹,然后选择一个流水线。
点击查看时间表。
Scheduling(安排)页面
在 Google Cloud 控制台中,前往时间安排页面。
点击所选流水线时间表的名称。
查看过往的安排的运行作业
如需查看所选流水线时间表的过往运行情况,请按以下步骤操作:
Explorer 窗格
在 Google Cloud 控制台中,转到 BigQuery 页面。
在探索器窗格中,展开您的项目和流水线文件夹,然后选择一个流水线。
点击执行。
可选:如需刷新过往运行情况的列表,请点击刷新。
Scheduling(安排)页面
在 Google Cloud 控制台中,前往时间安排页面。
点击所选流水线的名称。
在时间表详情页面的过往执行部分中,检查过往的运行作业。
可选:如需刷新过往运行情况的列表,请点击刷新。
修改流水线时间表
如需修改流水线时间表,请按以下步骤操作:
Explorer 窗格
在 Google Cloud 控制台中,转到 BigQuery 页面。
在探索器窗格中,展开您的项目和流水线文件夹,然后选择一个流水线。
点击查看时间表,然后点击修改。
在安排流水线对话框中,修改时间表,然后点击更新时间表。
Scheduling(安排)页面
在 Google Cloud 控制台中,前往时间安排页面。
点击所选流水线的名称。
在时间表详情页面上,点击修改。
点击查看时间表,然后点击修改。
在安排流水线对话框中,修改时间表,然后点击更新时间表。
删除流水线时间表
如需永久删除流水线时间表,请按以下步骤操作:
在 Google Cloud 控制台中,前往时间安排页面。
执行以下其中一项操作:
点击所选流水线时间表的名称,然后在时间表详情页面上点击删除。
在包含所选流水线时间表的行中,点击操作列中的
查看操作,然后点击删除。
在随即显示的对话框中,点击删除。
后续步骤
- 详细了解 BigQuery 中的流水线。
- 了解如何创建流水线。