使用 Datastream 将数据近乎实时地复制到 BigQuery

了解如何使用 Datastream 将数据从源数据库复制到 BigQuery 数据集。


如需在 Google Cloud 控制台中直接遵循有关此任务的分步指导,请点击操作演示

操作演示


准备工作

  1. 登录您的 Google Cloud 账号。如果您是 Google Cloud 新手,请创建一个账号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
  2. 在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目

    转到“项目选择器”

  3. 确保您的 Google Cloud 项目已启用结算功能

  4. 在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目

    转到“项目选择器”

  5. 确保您的 Google Cloud 项目已启用结算功能

  6. 启用 Datastream API。

    启用 API

  7. 确保您已将 Datastream Admin 角色分配给您的用户账号。

    转到 IAM 页面

如果要为标准或共享 VPC 网络创建专用连接配置,还需要满足其他前提条件。如需了解详情,请参阅创建专用连接配置

使用要求

Datastream 提供各种来源选项、目标选项和网络连接方法。

在本快速入门中,我们假设您要将 Cloud SQL for PostgreSQL 数据库中的数据复制到 BigQuery。对于源数据库,您应该能够将数据库实例配置为接受来自 Datastream 公共 IP 地址的连接。

由于我们无法获知您环境的具体细节,因此我们无法提供网络配置的详细步骤。

在本快速入门中,请选择 IP 许可名单作为网络连接方法。IP 许可名单是一项安全功能,通常用于仅限受信任的用户访问您的源数据库中的数据并对这些访问进行控制。您可以使用 IP 许可名单创建受信任的 IP 地址或 IP 地址范围列表,您的用户和其他 Cloud 服务(如 Datastream)可通过这些地址访问此数据。如需使用 IP 许可名单,您必须向来自 Datastream 的传入连接开放 Cloud SQL 源数据库。

创建连接配置文件

通过创建连接配置文件,您可以在 Datastream 中存储有关来源和目标的一些基本信息。然后,您可以在多个数据流中重复使用这些信息。

在本快速入门中,您将选择 PostgreSQL 作为来源连接配置文件的配置文件类型,并选择 BigQuery 作为目标连接配置文件的配置文件类型。Datastream 使用连接配置文件中的信息连接到源数据库和 BigQuery。

为 PostgreSQL 数据库创建源连接配置文件

  1. 转到 Google Cloud Console 中 Datastream 的连接配置文件页面。

    转到“连接配置文件”页面

  2. 点击创建配置文件

  3. 创建连接配置文件页面中,点击 PostgreSQL 配置文件类型(因为您要为 PostgreSQL 数据库创建源连接配置文件)。

  4. 创建 PostgreSQL 配置文件页面的定义连接设置部分中提供以下信息:

    • 输入 My Source Connection Profile 作为源数据库的连接配置文件名称
    • 保留自动生成的连接配置文件 ID
    • 选择用于存储连接配置文件的地区

    • 输入连接详情

      • 主机名或 IP 字段中,输入 Datastream 可用于连接到源 PostgreSQL 数据库的主机名或公共 IP 地址。您将提供公共 IP 地址,因为 IP 许可名单将用作本快速入门的网络连接方法。
      • 端口字段中,输入为源数据库预留的端口号。对于 PostgreSQL 数据库,默认端口通常为 5432
      • 输入用户名密码,对源数据库进行身份验证。
      • 数据库字段中,输入用于标识数据库实例的名称。对于 PostgreSQL 数据库,此字段通常为 postgres
  5. 定义连接设置部分中,点击继续创建 PostgreSQL 配置文件页面的定义连接方法部分处于活动状态。

  6. 选择要在源数据库和 Datastream 之间建立连接的网络方法。在本快速入门中,使用连接方法下拉菜单选择 IP 许可名单作为网络方法。

  7. 配置源数据库以允许来自显示的 Datastream 公共 IP 地址的传入连接。

  8. 定义连接方法部分中,点击继续创建 PostgreSQL 配置文件页面的测试连接配置文件部分处于活动状态。

  9. 点击运行测试以验证源 PostgreSQL 数据库和 Datastream 是否可以相互通信。

  10. 验证是否显示“已通过测试”状态。

  11. 如果测试失败,您可以在流程的相应部分解决问题,然后返回重新测试。请参阅诊断问题页面,了解问题排查步骤。

  12. 点击创建

为 BigQuery 创建目标连接配置文件

  1. 转到 Google Cloud Console 中 Datastream 的连接配置文件页面。

    转到“连接配置文件”页面

  2. 点击创建配置文件

  3. 创建连接配置文件页面中,点击 BigQuery 配置文件类型(因为您要为 BigQuery 创建目标连接配置文件)。

  4. 创建 BigQuery 配置文件页面中提供以下信息:

    • 输入 My Destination Connection Profile 作为目标 BigQuery 服务的连接配置文件名称
    • 保留自动生成的连接配置文件 ID
    • 选择用于存储连接配置文件的地区
  5. 点击创建

为 PostgreSQL 数据库创建源连接配置文件和 BigQuery 目标连接配置文件后,您可以使用它们创建数据流。

创建数据流

在本部分中,您将创建一个数据流,以将数据从源 PostgreSQL 数据库复制到 BigQuery。

创建数据流涉及到:

  • 定义数据流的设置。
  • 选择您为源数据库创建的连接配置文件(来源连接配置文件)。在本快速入门中,我们使用的是我的来源连接配置文件
  • 通过指定复制属性以及 Datastream 的源数据库中的表和架构,配置数据流的源数据库的相关信息:
    • 可以转移到目标位置。
    • 无法转移到目标位置。
  • 确定 Datastream 是回填历史数据、将正在进行的更改流式传输到目标位置,还是仅流式传输数据更改。
  • 选择您为 BigQuery 创建的连接配置文件(目标连接配置文件)。在本快速入门中,我们使用的是我的目标连接配置文件
  • 配置有关数据流目的地的信息,例如配置 BigQuery 数据集。
  • 验证数据流。

定义数据流的设置

  1. 转到 Google Cloud Console 中数据流页面。

    转到“数据流”页面

  2. 点击创建信息流

  3. 创建数据流页面的定义数据流详情面板中提供以下信息:

    • 输入 My Stream 作为数据流名称
    • 保留自动生成的数据流 ID
    • 地区菜单中,选择您创建来源连接配置文件的地区。
    • 来源类型菜单中,选择 PostgreSQL 配置文件类型。
    • 目标类型菜单中,选择 BigQuery 配置文件类型。
  4. 查看自动生成的必要前提条件,以反映如何为数据流准备您的环境。这些前提条件包括如何配置源数据库以及如何配置 BigQuery。

  5. 点击继续。系统随即会显示创建数据流页面的定义 PostgreSQL 连接配置文件面板。

指定有关来源连接配置文件的信息

  1. 来源连接配置文件菜单中,选择 PostgreSQL 数据库的来源连接配置文件

  2. 点击运行测试,验证源数据库和 DataStream 是否可以相互通信。

    如果测试失败,会显示与连接配置文件关联的问题。请参阅诊断问题页面,了解问题排查步骤。进行必要的更改以纠正问题,然后重新测试。

  3. 点击继续。系统会显示创建数据流页面的配置数据流来源面板。

配置有关数据流的源数据库的信息

  1. 提供源数据库的复制槽发布内容名称。复制槽和发布内容是在配置 PostgreSQL 数据库时创建的。

  2. 使用要包含的对象菜单指定源数据库中 Datastream 会将哪些表和架构复制到 BigQuery 中。只有当您的数据库中最多包含 5,000 个对象时,该菜单才会加载。

    在本快速入门中,您希望 Datastream 转移所有表和架构。因此,请从菜单中选择所有架构中的所有表

  3. 点击继续。此时将显示“创建数据流”页面的定义 BigQuery 连接配置文件面板。

选择目标连接配置文件

  1. 目标连接配置文件菜单中,选择适用于 BigQuery 的目标连接配置文件

  2. 点击继续。系统会显示创建数据流页面的配置数据流目标位置面板。

配置有关数据流的目标位置的信息

  1. 选择每个架构的数据集选项,以便 Datastream 自动在 BigQuery 中为源数据库中的每个架构创建一个数据集。

  2. 选择在 BigQuery 中创建数据集的位置。此位置不必与创建 Datastream 数据流的区域相同。

  3. 前缀设置为 quickstart-。Datastream 会将此字符串添加到它在 BigQuery 中创建的每个数据集的开头。

  4. Specify the limit of data staleness 下拉列表中的值保留设置为 15 分钟。BigQuery 使用此值来确定在查询数据时可能的过时时间。

  5. 点击继续。系统会显示创建数据流页面的审核数据流详情并创建面板。

创建数据流

  1. 验证该数据流的详细信息,以及数据流将用来将数据从源 PostgreSQL 数据库转移到 BigQuery 的源连接配置文件和目标连接配置文件。

  2. 点击运行验证来验证数据流。通过验证数据流,Datastream 会检查来源是否配置正确,验证数据流是否可以连接到来源和目标位置,并验证数据流的端到端配置。

  3. 所有验证检查都通过后,点击创建

  4. 创建数据流?对话框中,点击创建

启动数据流

在本快速入门的上一部分中,您创建了一个数据流,但并未启动它。您现在可以进行启动。

在本快速入门中,您将分别创建和启动数据流,以防数据流创建过程造成源数据库负载增加。如需消除该负载,您需要创建数据流但不启动它,然后在可产生负载时启动数据流。

通过启动数据流,Datastream 可以将数据、架构和表从源数据库转移到目标位置。

  1. 转到 Google Cloud Console 中数据流页面。

    转到“数据流”页面

  2. 选择要启动的数据流左侧的复选框。在本快速入门中,这是我的数据流

  3. 点击启动

  4. 在对话框中,点击启动。数据流的状态从 Not started 更改为 Starting,再更改为 Running

    启动数据流后,您可以验证 Dataflow 是否将数据从源数据库转移到目标位置。

验证数据流

在本部分中,您将确认 Datastream 将数据从源 PostgreSQL 数据库的所有表转移到 BigQuery。

  1. 转到 Google Cloud Console 中数据流页面。

    转到“数据流”页面

  2. 点击您创建的数据流。在本快速入门中,这是我的数据流

  3. 数据流详情页面中,点击目标写入路径字段下方显示的链接。BigQuery Studio 会在单独的标签页中打开。

  4. 验证您是否看到表示源 PostgreSQL 数据库的架构和表的数据集和表。

  5. 点击其中一个表即可预览数据。

清理

为避免因本页中使用的资源导致您的 Google Cloud 账号产生费用,请按照以下步骤操作。

  1. 您可以使用 Google Cloud 控制台删除项目、Datastream 数据流和连接配置文件以及 BigQuery 数据集。

清理您在 Datastream 上创建的资源后,这些资源不会占用配额,日后也不会产生费用。以下部分介绍如何删除或关闭这些资源。

删除项目

若要避免产生费用,最简单的方法是删除您为本快速入门创建的项目。

  1. 在 Cloud Console 中,转到管理资源页面:

    转到“管理资源”页面

  2. 在项目列表中,选择要删除的项目,然后点击删除

  3. 在对话框中输入项目 ID,然后点击关停以删除项目。

删除数据流

  1. 转到 Google Cloud Console 中数据流页面。

    转到“数据流”页面

  2. 点击要删除的数据流。在本快速入门中,这是我的数据流

  3. 点击暂停

  4. 在对话框中,点击暂停

  5. 数据流详情页面的数据流状态窗格中,验证数据流的状态是否为 Paused

  6. 点击删除

  7. 在对话框中的文本字段中输入 Delete,然后点击删除

删除连接配置文件

  1. 转到 Google Cloud Console 中 Datastream 的连接配置文件页面。

    转到“连接配置文件”页面

  2. 选中您要删除的每个连接配置文件对应的复选框。在本快速入门中,请选中 My Source Connection ProfileMy Destination Connection Profile 复选框。

  3. 点击删除

  4. 在对话框中,点击删除

删除 BigQuery 数据集

  1. 转到 Google Cloud Console 中的 BigQuery Studio 页面。

    进入 BigQuery Studio

  2. 展开您创建此快速入门的项目节点。

  3. 对于要删除的每个数据集,点击查看操作菜单,然后点击删除

  4. 在对话框中的文本字段中输入 delete,然后点击删除

后续步骤