安排流水线

本文档介绍如何安排 BigQuery 流水线,包括如何安排流水线以及检查已安排的流水线运行。

流水线由 Dataform 提供支持。每个流水线时间表都使用您的 Google 账号用户凭证或您在配置时间表时选择的 Dataform 服务账号运行。

您对流水线所做的更改会自动保存,但只会影响您和被授予项目的 Dataform Admin 角色的用户。如需使用流水线的新版本更新时间表,您需要部署流水线。部署会更新时间表,以使用您当前的流水线版本。时间表始终会运行最新的已部署版本。

包含笔记本的流水线的时间表使用默认运行时规范。在包含笔记本的流水线的预定运行期间,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) 角色。

创建流水线时间表

如需创建流水线时间表,请按以下步骤操作:

探索器窗格

  1. 在 Google Cloud 控制台中,前往 BigQuery 页面。

    转到 BigQuery

  2. 探索器窗格中,展开您的项目和流水线文件夹,然后选择一个流水线。

  3. 点击时间表

  4. 安排流水线窗格中的时间表名称字段中,输入时间表的名称。

  5. 身份验证部分,使用您的 Google 账号用户凭证或服务账号授权流水线。

    • 如需使用您的 Google 账号用户凭证(预览版),请选择使用我的用户凭证执行
    • 如需使用服务账号,请选择使用所选服务账号执行,然后选择一个服务账号。
  6. 如果您的流水线包含笔记本,请在笔记本选项部分的运行时模板字段中,选择 Colab 笔记本运行时模板或默认运行时规范。如需详细了解如何创建 Colab 笔记本运行时模板,请参阅创建运行时模板

  7. 如果您的流水线包含笔记本,请在笔记本选项部分的 Cloud Storage 存储桶字段中,点击浏览,然后选择或创建 Cloud Storage 存储桶,以便存储流水线中笔记本的输出。

    您所选的服务账号必须在所选存储桶中获得 Storage Admin IAM 角色。如需了解详情,请参阅启用流水线安排

  8. 时间表频率部分中,执行以下操作:

    1. 重复频率菜单中,选择安排的流水线运行的频率。
    2. 时间字段中,为安排的流水线运行输入时间。
    3. 时区菜单中,选择时间表的时区。
  9. 点击创建时间表。 如果您选择了使用我的用户凭证执行作为身份验证方法,则必须授权您的 Google 账号预览版)。

创建时间表后,系统会自动部署流水线的当前版本。如需使用流水线的新版本更新时间表,请部署流水线

流水线的最新部署版本会按所选的时间和频率运行。

时间安排页面

  1. 在 Google Cloud 控制台中,前往时间安排页面。

    前往“时间安排”

  2. 点击创建,然后从菜单中选择流水线时间表

  3. 安排流水线窗格中,选择要安排的流水线。

  4. 时间表名称字段中,输入时间表的名称。

  5. 身份验证部分,使用您的 Google 账号用户凭证或服务账号授权流水线。

    • 如需使用您的 Google 账号用户凭证(预览版),请选择使用我的用户凭证执行
    • 如需使用服务账号,请选择使用所选服务账号执行,然后选择一个服务账号。
  6. 如果您的流水线包含笔记本,请在笔记本选项部分的运行时模板字段中,选择 Colab 笔记本运行时模板或默认运行时规范。如需详细了解如何创建 Colab 笔记本运行时模板,请参阅创建运行时模板

  7. 如果您的流水线包含笔记本,请在 Cloud Storage 存储桶字段中点击浏览,然后选择或创建一个 Cloud Storage 存储桶,用于存储流水线中笔记本的输出。

    您所选的服务账号必须在所选存储桶中获得 Storage Admin IAM 角色。如需了解详情,请参阅启用流水线安排

  8. 时间表频率部分中,执行以下操作:

    1. 重复频率菜单中,选择安排的流水线运行的频率。
    2. 时间字段中,为安排的流水线运行输入时间。
    3. 时区菜单中,选择时间表的时区。
  9. 点击创建时间表。 如果您选择了使用我的用户凭证执行作为身份验证方法,则必须授权您的 Google 账号预览版)。

授权您的 Google 账号

如需使用您的 Google 账号用户凭证向资源进行身份验证,您必须手动向 BigQuery 流水线授予权限,以便其获取您的 Google 账号的访问令牌并代表您访问源数据。您可以通过 OAuth 对话框界面手动进行批准。

您只需向 BigQuery 流水线授予一次权限。

如需撤销您已授予的权限,请按以下步骤操作:

  1. 前往您的“Google 账号”页面
  2. 点击 BigQuery 流水线
  3. 点击解除使用权限

通过更新凭证来更改流水线时间表所有者时,如果新的 Google 账号所有者之前从未创建过时间表,则也需要手动批准。

如果您的流水线包含笔记本,您还必须手动向 Colab Enterprise 授予权限,以便其获取您的 Google 账号的访问令牌并代表您访问源数据。您只需授予一次权限。您可以在 Google 账号页面上撤销此权限。

部署流水线

部署流水线会使用流水线的当前版本更新其时间表。时间表会运行流水线的最新部署版本。

如需部署流水线,请按以下步骤操作:

  1. 在 Google Cloud 控制台中,前往 BigQuery 页面。

    转到 BigQuery

  2. 探索器窗格中,展开您的项目和流水线文件夹,然后选择一个流水线。

  3. 点击部署

相应的时间表会使用流水线的当前版本进行更新。流水线的最新部署版本会在安排的时间运行。

停用时间表

如需暂停所选流水线的预定运行,而不删除时间表,您可以停用时间表。

如需停用所选流水线的时间表,请按以下步骤操作:

探索器窗格

  1. 在 Google Cloud 控制台中,前往 BigQuery 页面。

    转到 BigQuery

  2. 探索器窗格中,展开您的项目和流水线文件夹,然后选择一个流水线。

  3. 点击查看时间表

  4. 时间表详情表的时间表状态行中,点击已启用时间表切换开关。

时间安排页面

  1. 在 Google Cloud 控制台中,前往时间安排页面。

    前往“时间安排”

  2. 点击所选流水线的名称。

  3. 时间表详情页面上,点击停用

启用时间表

如需恢复已停用的流水线时间表的预定运行,请按以下步骤操作:

探索器窗格

  1. 在 Google Cloud 控制台中,前往 BigQuery 页面。

    转到 BigQuery

  2. 探索器窗格中,展开您的项目和流水线文件夹,然后选择一个流水线。

  3. 点击查看时间表

  4. 时间表详情表的时间表状态行中,点击已停用时间表切换开关。

时间安排页面

  1. 在 Google Cloud 控制台中,前往时间安排页面。

    前往“时间安排”

  2. 点击所选流水线的名称。

  3. 时间表详情页面上,点击启用

手动运行已部署的流水线

当您手动运行在所选时间表中部署的流水线时,BigQuery 会独立于时间表执行已部署的流水线一次。

如需手动运行已部署的流水线,请按以下步骤操作:

  1. 在 Google Cloud 控制台中,前往时间安排页面。

    前往“时间安排”

  2. 点击所选流水线时间表的名称。

  3. 时间表详情页面上,点击运行

查看所有流水线时间表

如需查看 Google Cloud 项目中的所有流水线时间表,请按以下步骤操作:

  1. 在 Google Cloud 控制台中,前往时间安排页面。

    前往“时间安排”

  2. 可选:如需显示包含流水线时间表详情的其他列,请点击 列显示选项,然后选择列并点击确定

查看流水线时间表详情

如需查看所选流水线时间表的详细信息,请按以下步骤操作:

探索器窗格

  1. 在 Google Cloud 控制台中,前往 BigQuery 页面。

    转到 BigQuery

  2. 探索器窗格中,展开您的项目和流水线文件夹,然后选择一个流水线。

  3. 点击查看时间表

时间安排页面

  1. 在 Google Cloud 控制台中,前往时间安排页面。

    前往“时间安排”

  2. 点击所选流水线时间表的名称。

查看过去的预定运行

如需查看所选流水线时间表过去的运行,请按以下步骤操作:

探索器窗格

  1. 在 Google Cloud 控制台中,前往 BigQuery 页面。

    转到 BigQuery

  2. 探索器窗格中,展开您的项目和流水线文件夹,然后选择一个流水线。

  3. 点击执行

  4. 可选:如需刷新过去运行的列表,请点击刷新

时间安排页面

  1. 在 Google Cloud 控制台中,前往时间安排页面。

    前往“时间安排”

  2. 点击所选流水线的名称。

  3. 时间表详情页面的过往的执行情况部分中,查看过去的运行。

  4. 可选:如需刷新过去运行的列表,请点击刷新

修改流水线时间表

如需修改流水线时间表,请按以下步骤操作:

探索器窗格

  1. 在 Google Cloud 控制台中,前往 BigQuery 页面。

    转到 BigQuery

  2. 探索器窗格中,展开您的项目和流水线文件夹,然后选择一个流水线。

  3. 点击查看时间表,然后点击修改

  4. 安排流水线对话框中,修改时间表,然后点击更新时间表

时间安排页面

  1. 在 Google Cloud 控制台中,前往时间安排页面。

    前往“时间安排”

  2. 点击所选流水线的名称。

  3. 时间表详情页面上,点击修改

  4. 点击查看时间表,然后点击修改

  5. 安排流水线对话框中,修改时间表,然后点击更新时间表

删除流水线时间表

如需永久删除流水线时间表,请按以下步骤操作:

  1. 在 Google Cloud 控制台中,前往时间安排页面。

    前往“时间安排”

  2. 执行以下其中一项操作:

    • 点击所选流水线时间表的名称,然后在时间表详情页面上点击删除

    • 在包含所选流水线时间表的行中,点击操作列中的 查看操作,然后点击删除

  3. 在随即显示的对话框中,点击删除

后续步骤