使用 Azure Data Factory 或 Synapse Analytics 從 Google BigQuery 複製數據
適用於:Azure Data Factory Azure Synapse Analytics
提示
試用 Microsoft Fabric 中的 Data Factory,這是適用於企業的全方位分析解決方案。 Microsoft Fabric 涵蓋從資料移動到資料科學、即時分析、商業智慧和報告的所有項目。 了解如何免費啟動新的試用版!
本文概述如何在 Azure Data Factory 和 Synapse Analytics 管線中使用複製活動,從 Google BigQuery 複製數據。 它會以 複製活動概觀 一文為基礎,提供複製活動的一般概觀。
重要
新的Google BigQuery連接器提供改良的原生Google BigQuery支援。 如果您在解決方案中使用舊版 Google BigQuery 連接器,則僅針對回溯相容性支援,請參閱 Google BigQuery 連接器(舊版) 一文。
支援的功能
下列功能支援此 Google BigQuery 連接器:
支援的功能 | IR |
---|---|
複製活動 (來源/-) | (1) (2) |
查閱活動 | (1) (2) |
① Azure 整合執行階段 ② 自我裝載整合執行階段
如需複製活動所支援作為來源或接收器的資料存放區清單,請參閱支援的資料存放區表格。
此服務提供內建驅動程式來啟用連線。 因此,您不需要手動安裝驅動程式,即可使用此連接器。
注意
此 Google BigQuery 連接器建置在 BigQuery API 之上。 請注意,BigQuery 會限制傳入要求的最大速率,並根據每個專案強制執行適當的配額,請參閱 配額和限制 - API 要求。 請確定您不會對帳戶觸發太多並行要求。
開始使用
若要透過管線執行複製活動,您可以使用下列其中一個工具或 SDK:
使用 UI 建立 Google BigQuery 的連結服務
使用下列步驟,在 Azure 入口網站 UI 中建立 Google BigQuery 的連結服務。
前往 Azure Data Factory 或 Synapse 工作區的 [管理] 索引標籤,選取 [連結服務],然後按一下 [新增]:
搜尋 Google BigQuery 並選取連接器。
設定服務詳細資料,測試連線,然後建立新的連結服務。
連接器設定詳細資料
下列各節提供屬性的相關詳細數據,這些屬性是用來定義Google BigQuery連接器專屬的實體。
連結服務屬性
Google BigQuery 連結服務支援下列屬性。
屬性 | 描述 | 必要 |
---|---|---|
type | type 屬性必須設定為 GoogleBigQueryV2。 | Yes |
projectId | 要查詢之預設 BigQuery 專案的專案識別碼。 | Yes |
authenticationType | 用於驗證的 OAuth 2.0 驗證機制。 允許的值為 UserAuthentication 和 ServiceAuthentication。 請參閱下表下方各節,以取得這些驗證類型的更多屬性和 JSON 範例。 |
Yes |
使用用戶驗證
將 「authenticationType」 屬性設定為 UserAuthentication,並指定下列屬性以及上一節所述的泛型屬性:
屬性 | 描述 | 必要 |
---|---|---|
clientId | 用來產生重新整理令牌的應用程式標識碼。 | Yes |
clientSecret | 用來產生重新整理令牌的應用程式秘密。 將此欄位標記為 SecureString 以便安全儲存,或參考 Azure Key Vault 中儲存的祕密。 | Yes |
refreshToken | 從 Google 取得的重新整理令牌,用來授權存取 BigQuery。 瞭解如何從 取得 OAuth 2.0 存取令牌 和 此社群部落格取得一個令牌。 將此欄位標記為 SecureString 以便安全儲存,或參考 Azure Key Vault 中儲存的祕密。 | Yes |
範例:
{
"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 中儲存的祕密。 | Yes |
範例:
{
"name": "GoogleBigQueryLinkedService",
"properties": {
"type": "GoogleBigQueryV2",
"typeProperties": {
"projectId": "<project ID>",
"authenticationType": "ServiceAuthentication",
"keyFileContent": {
"type": "SecureString",
"value": "<key file JSON string>"
}
}
}
}
資料集屬性
如需可用來定義資料集的區段和屬性完整清單,請參閱資料集一文。 本節提供Google BigQuery資料集所支持的屬性清單。
若要從Google BigQuery 複製數據,請將數據集的類型屬性設定為 GoogleBigQueryV2Object。 以下是支援的屬性:
屬性 | 描述 | 必要 |
---|---|---|
type | 數據集的類型屬性必須設定為: GoogleBigQueryV2Object | Yes |
資料集 | Google BigQuery 數據集的名稱。 | 否 (如果已指定活動來源中的「查詢」) |
table | 資料表的名稱。 | 否 (如果已指定活動來源中的「查詢」) |
範例
{
"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。 複製活動 來源 區段中支援下列屬性。
屬性 | 描述 | 必要 |
---|---|---|
type | 複製活動來源的 type 屬性必須設定為 GoogleBigQueryV2Source。 | Yes |
query | 使用自訂 SQL 查詢來讀取資料。 例如 "SELECT * FROM MyTable" 。 如需詳細資訊,請移至 查詢語法。 |
否(如果已指定資料集中的「資料集」和「資料表」) |
範例:
"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>"
}
}
}
]
查閱活動屬性
若要了解屬性的詳細資料,請參閱查閱活動。
升級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資料類型使用到服務內部使用的過渡數據類型。 數值 -> 十進位 Timestamp -> DateTimeOffset Datetime -> DatetimeOffset |
下列對應會從Google BigQuery資料類型使用到服務內部使用的過渡數據類型。 數值 -> 字串 Timestamp -> DateTime Datetime -> DateTime |
不支援 requestGoogleDriveScope。 您必須藉由參考 選擇Google Drive API 範圍 和 查詢磁碟驅動器數據,來額外套用Google BigQuery服務中的許可權。 | 支援要求GoogleDriveScope。 |
不支援 additionalProjects。 或者, 使用 Google Cloud 控制台查詢公用數據集。 | 支援 additionalProjects。 |
相關內容
如需複製活動支援作為來源和接收器的資料存放區清單,請參閱支援的資料存放區。