本教程介绍了如何创建和部署将更改的数据从 Microsoft SQL Server 数据库持续复制到 BigQuery 表的作业。
目标
在本教程中,您将执行以下操作:
- 在 SQL Server 数据库中启用变更数据捕获 (CDC)。
- 创建并运行 Cloud Data Fusion 复制作业。
- 在 BigQuery 中查看结果。
费用
在本文档中,您将使用 Google Cloud 的以下收费组件:
您可使用价格计算器根据您的预计使用情况来估算费用。
当复制运行时,您需要为 Dataproc 集群付费,并且会产生 BigQuery 的处理费用。为了优化这些费用,我们强烈建议您使用 BigQuery 固定费率价格。
准备工作
- 登录您的 Google Cloud 账号。如果您是 Google Cloud 新手,请创建一个账号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
-
在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目。
-
启用 Cloud Data Fusion, BigQuery, and Cloud Storage API。
-
在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目。
-
启用 Cloud Data Fusion, BigQuery, and Cloud Storage API。
- 在 6.3.0 或更高版本中创建公共 Cloud Data Fusion 实例。如果您要创建专用实例,请设置 VPC 网络对等互连。
- 创建实例时,请点击添加加速器并选中复制复选框来启用复制。
- 如需在现有实例中启用复制功能,请参阅启用复制。
如需详细了解网络,请参阅将 HAProxy 与 Cloud Data Fusion 搭配使用以导航复杂的网络拓扑。
所需的角色
如需获取本教程所需的权限,请参阅使用 IAM 进行访问权限控制和授予服务帐号用户权限。
可选:设置 SQL Server 虚拟机实例
下载 AdventureWorks2017 (OLTP) 数据库并将数据加载到您的 SQL Server 实例中。
在 SQL Server 数据库中启用 CDC
对于复制,请对要复制的数据库和表启用变更数据捕获 (CDC)。
创建并运行 Cloud Data Fusion 复制作业
上传 JDBC 驱动程序
下载 SQL Server JDBC 驱动程序到本地机器。
在 Cloud Data Fusion 网页界面中,上传 JDBC 驱动程序。使用以下值配置 JDBC 驱动程序:
- 在名称字段中,输入
sqlserver
。 - 在类名称字段中,输入
com.microsoft.sqlserver.jdbc.SQLServerDriver
。 - 在版本字段中,保留默认值。
- 在名称字段中,输入
创建作业
在 Cloud Data Fusion 网页界面中,点击复制。
点击
创建复制作业。在创建新的复制作业页面上,指定复制作业的名称,然后点击下一步。
配置来源:
- 选择 Microsoft SQL Server 作为来源。
- 对于主机,输入要从中读取的 SQL Server 的主机名。
- 对于端口,输入要用于连接到 SQL Server 的端口:
1433
。 - 在 JDBC Plugin Name 部分,选择
sqlserver
或您在配置 JDBC 驱动程序时指定的名称。 - 对于数据库名称,输入
AdventureWorks2017
。 - 在凭据部分中,输入您的用户名和密码以访问 SQL Server。
点击下一步。
配置目标:
- 选择 BigQuery 目标。
- 系统会自动检测项目 ID 和服务账号密钥。请保留默认值。
- 可选:在高级部分中,您可以配置 Cloud Storage 存储桶的名称和位置、加载间隔、暂存表前缀以及删除表或数据库时的行为。
点击下一步。
如果连接成功,系统会显示
AdventureWorks2017
表的列表。在本教程中,选择一些表和事件,例如Insert
、Update
和Delete
事件。可选:配置高级属性。在本教程中,您可以接受默认设置。
点击下一步。
在审核评估页面上,点击任意表格对应的查看映射,以评估复制期间可能发生的架构问题、缺失功能或连接问题。您必须先解决问题,然后才能继续。在本教程中,如果任何表存在问题,请返回到您选择表的步骤,然后选择没有问题的表或事件。
如需详细了解从源数据库到 BigQuery 目标位置的数据类型转换,请参阅复制数据类型。
点击 Back(返回)。
点击下一步。
查看摘要复制作业详情,然后点击部署复制作业。
启动作业
- 在复制作业详情页面中,点击开始。
复制作业从正在预配转换为正在启动,再转换为正在运行状态。在运行状态下,复制作业会将您选择的表数据(例如“People”表)的初始快照加载到 BigQuery 中。在此状态下,人员表的状态显示为正在截取快照 (Snapshotting)。将初始快照加载到 BigQuery 中后,对“人员”表所做的任何更改都会复制到 BigQuery 中。该表的状态列为正在复制。
监控作业
您可以启动和停止复制作业,查看其配置和日志,以及监控复制作业。
您可以通过复制作业详情页面监控复制作业的活动。
在复制页面中,点击复制作业的名称。
点击监控。
在 BigQuery 中查看结果
复制作业会在 BigQuery 中创建复制的数据集和表,其名称继承自相应的 SQL Server 数据库和表名称。
在 Google Cloud 控制台中打开 BigQuery。
在左侧面板中,点击项目名称以展开数据集列表。
选择
adventureworks2017
数据集,然后选择要查看的表。
如需了解详情,请参阅 BigQuery 文档。
清理
为避免因本教程中使用的资源导致您的 Google Cloud 账号产生费用,请删除包含这些资源的项目,或者保留项目但删除各个资源。
完成本教程后,删除您在 Google Cloud 上创建的资源。
删除虚拟机实例
- 在 Google Cloud 控制台中,转到虚拟机实例页面。
- 选中要删除的实例。
- 如需删除实例,请点击 更多操作,点击删除,然后按照说明操作。
删除 Cloud Data Fusion 实例
删除项目
- 在 Google Cloud 控制台中,进入管理资源页面。
- 在项目列表中,选择要删除的项目,然后点击删除。
- 在对话框中输入项目 ID,然后点击关闭以删除项目。
后续步骤
- 详细了解 Cloud Data Fusion 中的复制功能。
- 参阅 Replication API 参考文档。
- 浏览有关将数据从 MySQL 复制到 BigQuery 的教程。
- 浏览将数据从 Oracle 复制到 BigQuery教程。