适用于:Azure 数据工厂
Azure Synapse Analytics
本文介绍如何使用 Azure 数据工厂和 Synapse Analytics 管道中的复制活动来复制 Google BigQuery 的数据。 本文基于总体概述复制活动的复制活动概述一文。
重要
Google BigQuery V2 连接器提供改进的本机 Google BigQuery 支持。 如果在解决方案中使用 Google BigQuery V1 连接器,请升级 Google BigQuery 连接器,因为 V1 处于支持终止阶段。 有关 V2 和 V1 之间的差异的详细信息,请参阅此部分。
以下功能支持此 Google BigQuery 连接器:
① Azure 集成运行时 ② 自承载集成运行时
有关复制活动支持作为源或接收器的数据存储列表,请参阅支持的数据存储表。
服务提供了内置驱动程序,用来启用连接。 因此,无需要手动安装驱动程序即可使用此连接器。
备注
此 Google BigQuery 连接器在 BigQuery API 的基础上构建。 请注意,BigQuery 会限制传入请求的最大速率并按项目强制实施适当的配额,请参阅配额和限制 - API 请求。 请确保不会发送过多对帐户的并发请求。
若要使用管道执行复制活动,可以使用以下工具或 SDK 之一:
使用以下步骤在 Azure 门户 UI 中创建一个到 Google BigQuery 的链接服务。
浏览到 Azure 数据工厂或 Synapse 工作区中的“管理”选项卡并选择“链接服务”,然后单击“新建”:
搜索 Google BigQuery 并选择连接器。
配置服务详细信息、测试连接并创建新的链接服务。
在以下部分中,可详细了解用于定义特定于 Google BigQuery 连接器的实体的属性。
Google BigQuery 链接服务支持以下属性。
属性 | 描述 | 必需 |
---|---|---|
类型 | type 属性必须设置为 GoogleBigQueryV2。 | 是 |
projectId | 用于查询的默认 BigQuery 项目的项目 ID。 | 是 |
认证类型 | 用于身份验证的 OAuth 2.0 身份验证机制。 允许的值为 UserAuthentication 和 ServiceAuthentication。 有关这些身份验证类型的其他属性和 JSON 示例,请分别参阅此表格下面的部分。 |
是 |
将“authenticationType”属性设置为“UserAuthentication” ,并指定以下属性及上节所述的泛型属性:
属性 | 描述 | 必需 |
---|---|---|
clientId | 用于生成刷新令牌的应用程序 ID。 | 是 |
客户端密钥 | 应用程序的机密,用于生成刷新令牌。 将此字段标记为 SecureString 以安全地存储它,或引用存储在 Azure Key Vault 中的机密。 | 是 |
refreshToken | 从 Google 获得的刷新令牌,用于授权访问 BigQuery。 从获取 OAuth 2.0 访问令牌和此社区博客了解如何获取刷新令牌。 将此字段标记为 SecureString 以安全地存储它,或引用存储在 Azure Key Vault 中的机密。 | 是 |
示例:
{
"name": "GoogleBigQueryLinkedService",
"properties": {
"type": "GoogleBigQueryV2",
"typeProperties": {
"projectId" : "<project ID>",
"authenticationType" : "UserAuthentication",
"clientId": "<client ID>",
"clientSecret": {
"type": "SecureString",
"value":"<client secret>"
},
"refreshToken": {
"type": "SecureString",
"value": "<refresh token>"
}
}
}
}
将“authenticationType”属性设置为“ServiceAuthentication” ,并指定以下属性及上节所述的泛型属性。
属性 | 描述 | 必需 |
---|---|---|
keyFileContent | 用于对服务帐户进行身份验证的密钥文件(采用 JSON 格式)。 将此字段标记为 SecureString 以安全地存储它,或引用存储在 Azure Key Vault 中的机密。 | 是 |
示例:
{
"name": "GoogleBigQueryLinkedService",
"properties": {
"type": "GoogleBigQueryV2",
"typeProperties": {
"projectId": "<project ID>",
"authenticationType": "ServiceAuthentication",
"keyFileContent": {
"type": "SecureString",
"value": "<key file JSON string>"
}
}
}
}
有关可用于定义数据集的各部分和属性的完整列表,请参阅数据集一文。 本部分提供 Google BigQuery 数据集支持的属性列表。
要从 Google BigQuery 复制数据,请将数据集的 type 属性设置为 GoogleBigQueryV2Object。 支持以下属性:
属性 | 描述 | 必需 |
---|---|---|
类型 | 数据集的 type 属性必须设置为:GoogleBigQueryV2Object | 是 |
dataset | Google BigQuery 数据集的名称。 | 否(如果指定了活动源中的“query”) |
table | 表的名称。 | 否(如果指定了活动源中的“query”) |
示例
{
"name": "GoogleBigQueryDataset",
"properties": {
"type": "GoogleBigQueryV2Object",
"linkedServiceName": {
"referenceName": "<Google BigQuery linked service name>",
"type": "LinkedServiceReference"
},
"schema": [],
"typeProperties": {
"dataset": "<dataset name>",
"table": "<table name>"
}
}
}
有关可用于定义活动的各部分和属性的完整列表,请参阅管道一文。 本部分提供 Google BigQuery 源类型支持的属性列表。
要从 Google BigQuery 复制数据,请将复制活动中的源类型设置为 GoogleBigQueryV2Source。 复制活动的 source 节支持以下属性。
属性 | 描述 | 必需 |
---|---|---|
类型 | 复制活动源的 type 属性必须设置为 GoogleBigQueryV2Source。 | 是 |
query | 使用自定义 SQL 查询读取数据。 示例为 "SELECT * FROM MyTable" 。 有关详细信息,请转到查询语法。 |
否(如果指定了数据集中的“dataset”和“table”) |
示例:
"activities":[
{
"name": "CopyFromGoogleBigQuery",
"type": "Copy",
"inputs": [
{
"referenceName": "<Google BigQuery input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "GoogleBigQueryV2Source",
"query": "SELECT * FROM MyTable"
},
"sink": {
"type": "<sink type>"
}
}
}
]
若要了解有关属性的详细信息,请查看 Lookup 活动。
若要升级 Google BigQuery 连接器,请创建一个新的 Google BigQuery 链接服务,并按照链接服务属性对其进行配置。
Google BigQuery V2 连接器提供新功能,并与 Google BigQuery V1 连接器的大多数功能兼容。 下表显示了 Google BigQuery V2 和 V1 之间的功能差异。
Google BigQuery V2 | Google BigQuery V1 |
---|---|
Azure 集成运行时和自承载集成运行时支持服务身份验证。 不支持受信任的CertPath、useSystemTrustStore、电子邮件和 keyFilePath 的属性,因为它们仅在自承载集成运行时上可用。 |
服务身份验证仅受自承载集成运行时支持。 支持 trustedCertPath、useSystemTrustStore、email 和 keyFilePath 属性。 |
以下映射用于从 Google BigQuery 数据类型转换为服务内部所使用的中间数据类型。 数字 -> 小数 时间戳 -> 日期/时间偏移量 日期/时间 -> 日期/时间偏移量 |
以下映射用于从 Google BigQuery 数据类型到服务内部使用的临时数据类型。 数值型 -> 字符串 时间戳 -> 日期/时间 日期/时间 -> 日期/时间 |
不支持 requestGoogleDriveScope。 还需要通过引用选择 Google 云端硬盘 API 范围和查询云端硬盘数据在 Google BigQuery 服务中进一步申请权限。 | 支持 requestGoogleDriveScope。 |
不支持 additionalProjects。 或者,使用 Google Cloud 控制台查询公共数据集。 | 支持 additionalProjects。 |
有关复制活动支持作为源和接收器的数据存储的列表,请参阅受支持的数据存储。