使用第三方转移作业

通过适用于 BigQuery Data Transfer Service 的第三方转移作业,您可以自动安排和管理外部数据源(例如 Salesforce CRM、Adobe Analytics、Facebook Ads)的周期性加载作业。

准备工作

创建第三方数据转移作业之前,请执行以下操作:

  • 验证您是否已完成启用 BigQuery Data Transfer Service 所需的所有操作。
  • 创建一个 BigQuery 数据集来存储数据。
  • 确保创建转移作业的人员在 BigQuery 中拥有以下所需权限:

    • 创建转移作业所需的 bigquery.transfers.update 权限
    • 针对目标数据集的 bigquery.datasets.getbigquery.datasets.update 权限

    预定义的 IAM 角色 bigquery.admin 包含 bigquery.transfers.updatebigquery.datasets.updatebigquery.datasets.get 权限。如需详细了解 BigQuery Data Transfer Service 中的 IAM 角色,请参阅访问权限控制

  • 请参阅第三方数据源的相关文档,确保您已配置启用转移作业所需的所有权限。

  • 如果您要设置 Pub/Sub 的转移作业运行通知,必须拥有 pubsub.topics.setIamPolicy 权限。如果您只想设置电子邮件通知,则无需 Pub/Sub 权限。如需了解详情,请参阅 BigQuery Data Transfer Service 运行通知

限制

第三方转移作业存在以下限制:

  • 您必须使用 Google Cloud 控制台创建或更新第三方转移作业。
  • 目前,您无法使用 bq 命令行工具配置或更新第三方转移作业。

设置第三方数据转移作业

如需使用 Google Cloud 控制台创建第三方数据转移作业,请执行以下操作:

  1. 前往 Google Cloud Marketplace。

    转到 Google Cloud Marketplace

  2. 点击相应的第三方提供商。

  3. 在第三方提供商的相关文档页面上,点击注册。注册过程可能需要一些时间。

  4. 注册完成后,点击配置转移作业

  5. 创建转移作业页面上,执行以下操作:

    • 来源部分,选择适当的第三方数据源。您可以点击探索数据源,以查看 Google Cloud Marketplace 中的第三方提供商列表。

      转移作业来源

    • 显示名部分,输入转移作业的名称,例如 My Transfer。转移作业名称可以是任何容易辨识的值,方便您以后在需要修改该作业时能轻松识别。

      转移作业名称

    • 时间安排部分,保留默认值(立即开始),或点击在设置的时间开始 (Start at a set time)。

      • 重复频率部分,从以下选项中选择转移作业的运行频率。选项包括:

        • 每日一次(默认值)
        • 每周一次
        • 每月一次
        • 自定义
        • 按需

        如果您选择除“每日一次”以外的选项,则系统还会提供其他选项。例如,如果您选择“每周一次”,则系统会显示一个选项,供您选择星期几。

      • 开始日期和运行时间部分,输入开始转移作业的日期和时间。如果您选择的是立即开始,则系统会停用此选项。

        转移作业时间安排

    • 对于目标数据集,选择您创建用来存储数据的数据集。

      转移作业数据集

    • (可选)在通知选项部分,执行以下操作:

      • 点击切换开关以启用电子邮件通知。启用此选项后,转移作业管理员会在转移作业运行失败时收到电子邮件通知。
      • 选择 Pub/Sub 主题部分,选择您的主题名称,或点击创建主题来创建一个主题。此选项用于为您的转移作业配置 Pub/Sub 运行通知
  6. 点击连接来源

  7. 出现提示时,点击接受以授予 BigQuery Data Transfer Service 连接到数据源以及在 BigQuery 中管理数据的权限。

  8. 按照后续页面中的说明配置与外部数据源的连接。

  9. 完成配置步骤后,点击保存

排查第三方转移作业设置问题

如果您在设置转移作业时遇到问题,请咨询相应的第三方供应商。您可以在 Google Cloud Marketplace 的转移作业文档页面上找到联系信息。

查询数据

当数据转移到 BigQuery 时,这些数据会写入注入时间分区表。如需了解详情,请参阅分区表简介

如果您要直接查询表,而不是使用自动生成的视图,那么必须在查询中使用 _PARTITIONTIME 伪列。如需了解详情,请参阅查询分区表

后续步骤

  • 如需大致了解 BigQuery Data Transfer Service,请参阅 BigQuery Data Transfer Service 简介
  • 如需了解如何使用转移作业,包括获取有关转移作业配置的信息、列出转移作业配置以及查看转移作业的运行历史记录,请参阅处理转移作业