使用 Azure 数据工厂或 Synapse Analytics 从 Google BigQuery 存储复制数据
适用于:Azure 数据工厂 Azure Synapse Analytics
本文概述如何使用 Azure 数据工厂和 Synapse Analytics 管道中的复制活动从 Google BigQuery 复制数据。 本文基于总体概述复制活动的复制活动概述一文。
重要
新的 Google BigQuery 连接器提供更卓越的本机 Google BigQuery 支持。 如果你在解决方案中使用的是旧版 BigQuery 连接器,请在 2024 年 10 月 31 日之前升级 BigQuery 连接器。 有关旧版和最新版本之间的差异的详细信息,请参阅此部分。
支持的功能
以下功能支持此 Google BigQuery 连接器:
支持的功能 | IR |
---|---|
复制活动(源/-) | ① ② |
Lookup 活动 | ① ② |
① Azure 集成运行时 ② 自承载集成运行时
有关复制活动支持作为源或接收器的数据存储列表,请参阅支持的数据存储表。
服务提供了内置驱动程序,用来启用连接。 因此,无需要手动安装驱动程序即可使用此连接器。
注意
此 Google BigQuery 连接器在 BigQuery API 的基础上构建。 请注意,BigQuery 会限制传入请求的最大速率并按项目强制实施适当的配额,请参阅配额和限制 - API 请求。 请确保不会触发过多的帐户并发请求。
入门
若要使用管道执行复制活动,可以使用以下工具或 SDK 之一:
使用 UI 创建一个到 Google BigQuery 的链接服务
使用以下步骤在 Azure 门户 UI 中创建一个到 Google BigQuery 的链接服务。
浏览到 Azure 数据工厂或 Synapse 工作区中的“管理”选项卡并选择“链接服务”,然后单击“新建”:
搜索 Google BigQuery 并选择连接器。
配置服务详细信息、测试连接并创建新的链接服务。
连接器配置详细信息
对于特定于 Google BigQuery 连接器的实体,以下部分提供了有关用于定义这些实体的属性的详细信息。
链接服务属性
Google BigQuery 链接服务支持以下属性。
属性 | 描述 | 必需 |
---|---|---|
type | type 属性必须设置为 GoogleBigQueryV2。 | 是 |
projectId | 针对其查询的默认 BigQuery 项目的项目 ID。 | 是 |
authenticationType | 用于身份验证的 OAuth 2.0 身份验证机制。 允许的值为 UserAuthentication 和 ServiceAuthentication。 有关这些身份验证类型的其他属性和 JSON 示例,请分别参阅此表格下面的部分。 |
是 |
使用用户身份验证
将“authenticationType”属性设置为“UserAuthentication” ,并指定以下属性及上节所述的泛型属性:
属性 | 描述 | 必须 |
---|---|---|
clientId | 应用程序的 ID,用于生成刷新令牌。 | 是 |
clientSecret | 应用程序的机密,用于生成刷新令牌。 将此字段标记为 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” ,并指定以下属性及上节所述的泛型属性。
properties | 描述 | 必须 |
---|---|---|
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 | 数据集的 type 属性必须设置为:GoogleBigQueryV2Object | 是 |
dataset | Google BigQuery 数据集的名称。 | 否(如果指定了活动源中的“query”) |
表 | 表的名称。 | 否(如果指定了活动源中的“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 源类型支持的属性列表。
以 GoogleBigQuerySource 作为源类型
要从 Google BigQuery 复制数据,请将复制活动中的源类型设置为 GoogleBigQueryV2Source。 复制活动的 source 节支持以下属性。
属性 | 描述 | 必需 |
---|---|---|
type | 复制活动源的 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 链接服务,并按照链接服务属性对其进行配置。
Google BigQuery 和 Google BigQuery 之间的差异(旧版)
Google BigQuery 连接器提供新功能,并与 Google BigQuery(旧版)连接器的大多数功能兼容。 下表显示了 Google BigQuery 和 Google BigQuery(旧版)之间的功能差异。
Google BigQuery | Google BigQuery(旧版) |
---|---|
Azure 集成运行时和自承载集成运行时支持服务身份验证。 不支持受信任的CertPath、useSystemTrustStore、电子邮件和 keyFilePath 的属性,因为它们仅在自承载集成运行时上可用。 |
服务身份验证仅受自承载集成运行时支持。 支持 trustedCertPath、useSystemTrustStore、电子邮件和 keyFilePath 属性。 |
以下映射用于从 Google BigQuery 数据类型到服务内部使用的临时数据类型。 Numeric -> Decimal Timestamp -> DateTimeOffset Datetime -> DatetimeOffset |
以下映射用于从 Google BigQuery 数据类型到服务内部使用的临时数据类型。 Numeric -> String Timestamp -> DateTime Datetime -> DateTime |
不支持 requestGoogleDriveScope。 还需要通过引用选择 Google Drive API 范围和查询驱动器数据来应用 Google BigQuery 服务中的权限。 | 支持请求 GoogleDriveScope。 |
不支持 additionalProjects。 或者,使用 Google Cloud 控制台查询公共数据集。 | 支持 additionalProjects。 |
相关内容
有关复制活动支持作为源和接收器的数据存储的列表,请参阅受支持的数据存储。