本教程介绍了如何创建和部署一个作业,以将更改的数据从 Microsoft SQL Server 数据库持续复制到 BigQuery 表。
目标
在本教程中,您将执行以下操作:
- 在 SQL Server 数据库中启用变更数据捕获 (CDC)。
- 创建并运行 Cloud Data Fusion 复制作业。
- 在 BigQuery 中查看结果。
费用
在本文档中,您将使用 Google Cloud 的以下收费组件:
您可使用价格计算器根据您的预计使用情况来估算费用。
复制功能运行时,您需要为 Dataproc 集群付费,并且会对 BigQuery 产生处理费用。为了优化这些费用,我们强烈建议您使用 BigQuery 统一费率价格。
准备工作
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Data Fusion, BigQuery, and Cloud Storage APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Data Fusion, BigQuery, and Cloud Storage APIs.
- 在版本 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 网页界面中,点击复制。
点击
创建复制作业。在创建新的复制作业 (Create new replication job) 页面上,指定复制作业的名称,然后点击下一步。
配置来源:
- 选择 Microsoft SQL Server 作为来源。
- 对于主机,输入要从中读取的 SQL Server 的主机名。
- 对于端口,输入要用于连接到 SQL Server 的端口:
1433
。 - 对于 JDBC 插件名称,选择
sqlserver
或您在配置 JDBC 驱动程序时指定的名称。 - 对于数据库名称,输入
AdventureWorks2017
。 - 在凭据部分中,输入您的用户名和密码以访问 SQL Server。
点击下一步。
配置目标:
- 选择 BigQuery 目标。
- 系统会自动检测项目 ID 和服务账号密钥。请保留默认值。
- 可选:在高级部分中,您可以配置 Cloud Storage 存储分区的名称和位置、加载间隔、暂存表前缀以及删除表或数据库时的行为。
点击下一步。
如果连接成功,系统将显示
AdventureWorks2017
表的列表。在本教程中,选择一些表和事件,例如Insert
、Update
和Delete
事件。可选:配置高级属性。在本教程中,您可以接受默认设置。
点击下一步。
在审核评估页面上,点击任一表的查看映射,以获取复制期间可能发生的架构问题、缺少功能或连接问题的评估。您必须先解决问题,然后才能继续。在本教程中,如果任何表出现问题,请返回到选择表的步骤,然后选择一个没有问题的表或事件。
如需详细了解从源数据库到 BigQuery 目标位置的数据类型转换,请参阅复制数据类型。
点击 Back(返回)。
点击下一步。
查看摘要复制作业详情,然后点击部署复制作业。
启动作业
- 在复制作业详情页面中,点击开始。
复制作业从正在预配依次转换为正在启动、正在运行状态。在运行状态下,复制作业会将您选择的表数据的初始快照(例如,人员表)加载到 BigQuery 中。在此状态下,人员表的状态显示为正在截取快照 (Snapshotting)。在初始快照加载到 BigQuery 后,对“People”表所做的任何更改都会复制到 BigQuery。表状态显示为正在复制。
监控作业
您可以启动和停止复制作业、查看复制作业的配置和日志以及监控复制作业。
您可以通过复制作业详情页面监控复制作业活动。
在复制页面中,点击复制作业的名称。
点击监控。
在 BigQuery 中查看结果
复制作业会在 BigQuery 中使用继承自相应 SQL Server 数据库的名称和表名称创建复制数据集和表。
在 Google Cloud 控制台中打开 BigQuery。
在左侧面板中,点击项目名称以展开数据集列表。
选择
adventureworks2017
数据集,然后选择要查看的表。
如需了解详情,请参阅 BigQuery 文档。
清理
为避免因本教程中使用的资源导致您的 Google Cloud 账号产生费用,请删除包含这些资源的项目,或者保留项目但删除各个资源。
完成本教程后,请删除您在Google Cloud上创建的资源。
删除虚拟机实例
- In the Google Cloud console, go to the VM instances page.
- Select the checkbox for the instance that you want to delete.
- To delete the instance, click More actions, click Delete, and then follow the instructions.
删除 Cloud Data Fusion 实例
删除项目
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
后续步骤
- 详细了解 Cloud Data Fusion 中的复制功能。
- 参阅 Replication API 参考文档。
- 浏览有关将数据从 MySQL 复制到 BigQuery 的教程。
- 浏览将数据从 Oracle 复制到 BigQuery教程。