Kopiowanie danych z usługi Google BigQuery przy użyciu usługi Azure Data Factory lub Synapse Analytics (starsza wersja)
DOTYCZY: Azure Data Factory
Azure Synapse Analytics
Napiwek
Wypróbuj usługę Data Factory w usłudze Microsoft Fabric — rozwiązanie analityczne typu all-in-one dla przedsiębiorstw. Usługa Microsoft Fabric obejmuje wszystko, od przenoszenia danych do nauki o danych, analizy w czasie rzeczywistym, analizy biznesowej i raportowania. Dowiedz się, jak bezpłatnie rozpocząć nową wersję próbną !
W tym artykule opisano sposób używania działania kopiowania w potokach usługi Azure Data Factory i usługi Synapse Analytics do kopiowania danych z usługi Google BigQuery. Jest on oparty na artykule Omówienie działania kopiowania, który przedstawia ogólne omówienie działania kopiowania.
Ważne
Łącznik Google BigQuery V2 zapewnia ulepszoną natywną obsługę google BigQuery. Jeśli używasz łącznika Google BigQuery V1 w rozwiązaniu, uaktualnij łącznik Google BigQuery, ponieważ wersja 1 znajduje się na etapie zakończenia pomocy technicznej. Zapoznaj się z tą sekcją , aby uzyskać szczegółowe informacje na temat różnic między wersjami V2 i V1.
Obsługiwane możliwości
Ten łącznik Google BigQuery jest obsługiwany w następujących funkcjach:
Obsługiwane możliwości | IR |
---|---|
działanie Kopiuj (źródło/-) | (1) (2) |
Działanie Lookup | (1) (2) |
(1) Środowisko Azure Integration Runtime (2) Self-hosted Integration Runtime
Aby uzyskać listę magazynów danych obsługiwanych jako źródła lub ujścia przez działanie kopiowania, zobacz tabelę Obsługiwane magazyny danych.
Usługa udostępnia wbudowany sterownik umożliwiający łączność. W związku z tym nie trzeba ręcznie instalować sterownika do korzystania z tego łącznika.
Łącznik obsługuje wersje systemu Windows w tym artykule.
Uwaga
Ten łącznik Google BigQuery jest oparty na interfejsach API BigQuery. Należy pamiętać, że funkcja BigQuery ogranicza maksymalną szybkość żądań przychodzących i wymusza odpowiednie limity przydziału dla poszczególnych projektów, zapoznaj się z tematem Limity przydziału i limity — żądania interfejsu API. Upewnij się, że nie wyzwalasz zbyt wielu współbieżnych żądań do konta.
Wymagania wstępne
Do korzystania z tego łącznika potrzebne są następujące minimalne uprawnienia usługi Google BigQuery:
- bigquery.connections.*
- bigquery.datasets.*
- bigquery.jobs.*
- bigquery.readsessions.*
- bigquery.routines.*
- bigquery.tables.*
Rozpocznij
Aby wykonać działanie Kopiuj za pomocą potoku, możesz użyć jednego z następujących narzędzi lub zestawów SDK:
- Narzędzie do kopiowania danych
- Witryna Azure Portal
- Zestaw SDK platformy .NET
- Zestaw SDK języka Python
- Azure PowerShell
- Interfejs API REST
- Szablon usługi Azure Resource Manager
Tworzenie połączonej usługi z usługą Google BigQuery przy użyciu interfejsu użytkownika
Wykonaj poniższe kroki, aby utworzyć połączoną usługę z usługą Google BigQuery w interfejsie użytkownika witryny Azure Portal.
Przejdź do karty Zarządzanie w obszarze roboczym usługi Azure Data Factory lub Synapse i wybierz pozycję Połączone usługi, a następnie kliknij pozycję Nowy:
Wyszukaj pozycję Google i wybierz łącznik Google BigQuery.
Skonfiguruj szczegóły usługi, przetestuj połączenie i utwórz nową połączoną usługę.
Szczegóły konfiguracji łącznika
Poniższe sekcje zawierają szczegółowe informacje o właściwościach używanych do definiowania jednostek specyficznych dla łącznika Google BigQuery.
Właściwości połączonej usługi
Następujące właściwości są obsługiwane w przypadku połączonej usługi Google BigQuery.
Właściwości | Opis | Wymagania |
---|---|---|
type | Właściwość type musi być ustawiona na GoogleBigQuery. | Tak |
projekt | Identyfikator projektu domyślnego projektu BigQuery do odpytowania. | Tak |
additionalProjects | Rozdzielona przecinkami lista identyfikatorów projektów publicznych projektów BigQuery w celu uzyskania dostępu. | Nie. |
requestGoogleDriveScope | Czy zażądać dostępu do dysku Google. Zezwolenie na dostęp do dysku Google umożliwia obsługę tabel federacyjnych łączących dane BigQuery z danymi z dysku Google. Domyślna wartość to false. | Nie. |
authenticationType | Mechanizm uwierzytelniania OAuth 2.0 używany do uwierzytelniania. Usługa ServiceAuthentication może być używana tylko w własnym środowisku Integration Runtime. Dozwolone wartości to UserAuthentication i ServiceAuthentication. Zapoznaj się z sekcjami poniżej tej tabeli, aby uzyskać więcej właściwości i przykładów JSON dla tych typów uwierzytelniania odpowiednio. |
Tak |
Korzystanie z uwierzytelniania użytkownika
Ustaw właściwość "authenticationType" na Wartość UserAuthentication i określ następujące właściwości wraz z właściwościami ogólnymi opisanymi w poprzedniej sekcji:
Właściwości | Opis | Wymagania |
---|---|---|
clientId | Identyfikator aplikacji używanej do generowania tokenu odświeżania. | Tak |
clientSecret | Wpis tajny aplikacji używany do generowania tokenu odświeżania. Oznacz to pole jako element SecureString w celu bezpiecznego przechowywania go lub odwołuj się do wpisu tajnego przechowywanego w usłudze Azure Key Vault. | Tak |
refreshToken | Token odświeżania uzyskany od firmy Google używany do autoryzowania dostępu do trybu BigQuery. Dowiedz się, jak uzyskać jeden z artykułu Uzyskiwanie tokenów dostępu OAuth 2.0 i tego bloga społeczności. Oznacz to pole jako element SecureString w celu bezpiecznego przechowywania go lub odwołuj się do wpisu tajnego przechowywanego w usłudze Azure Key Vault. | Tak |
Minimalny zakres wymagany do uzyskania tokenu odświeżania OAuth 2.0 to https://www.googleapis.com/auth/bigquery.readonly
. Jeśli planujesz uruchomić zapytanie, które może zwracać duże wyniki, może być wymagany inny zakres. Aby uzyskać więcej informacji, zapoznaj się z tym artykułem.
Przykład:
{
"name": "GoogleBigQueryLinkedService",
"properties": {
"type": "GoogleBigQuery",
"typeProperties": {
"project" : "<project ID>",
"additionalProjects" : "<additional project IDs>",
"requestGoogleDriveScope" : true,
"authenticationType" : "UserAuthentication",
"clientId": "<id of the application used to generate the refresh token>",
"clientSecret": {
"type": "SecureString",
"value":"<secret of the application used to generate the refresh token>"
},
"refreshToken": {
"type": "SecureString",
"value": "<refresh token>"
}
}
}
}
Korzystanie z uwierzytelniania usługi
Ustaw właściwość "authenticationType" na Wartość ServiceAuthentication i określ następujące właściwości wraz z właściwościami ogólnymi opisanymi w poprzedniej sekcji. Tego typu uwierzytelniania można używać tylko w własnym środowisku Integration Runtime.
Właściwości | Opis | Wymagania |
---|---|---|
adres e-mail | Identyfikator e-mail konta usługi używany do uwierzytelniania usługi. Można go używać tylko w własnym środowisku Integration Runtime. | Nie. |
keyFilePath | Pełna ścieżka do pliku klucza używanego .json do uwierzytelniania adresu e-mail konta usługi. |
Tak |
trustedCertPath | Pełna ścieżka pliku pem zawierającego zaufane certyfikaty urzędu certyfikacji używane do weryfikowania serwera podczas nawiązywania połączenia za pośrednictwem protokołu TLS. Tę właściwość można ustawić tylko wtedy, gdy używasz protokołu TLS w własnym środowisku Integration Runtime. Wartość domyślna to plik cacerts.pem zainstalowany w środowisku Integration Runtime. | Nie. |
useSystemTrustStore | Określa, czy należy użyć certyfikatu urzędu certyfikacji z magazynu zaufania systemu, czy z określonego pliku pem. Domyślna wartość to false. | Nie. |
Uwaga
Łącznik nie obsługuje już plików kluczy P12. Jeśli korzystasz z kont usług, zaleca się zamiast tego używanie plików kluczy JSON. Właściwość P12CustomPwd używana do obsługi pliku klucza P12 również została uznana za przestarzałą. Aby uzyskać więcej informacji, zobacz ten artykuł.
Przykład:
{
"name": "GoogleBigQueryLinkedService",
"properties": {
"type": "GoogleBigQuery",
"typeProperties": {
"project" : "<project id>",
"requestGoogleDriveScope" : true,
"authenticationType" : "ServiceAuthentication",
"email": "<email>",
"keyFilePath": "<.json key path on the IR machine>"
},
"connectVia": {
"referenceName": "<name of Self-hosted Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Właściwości zestawu danych
Aby uzyskać pełną listę sekcji i właściwości dostępnych do definiowania zestawów danych, zobacz artykuł Zestawy danych. Ta sekcja zawiera listę właściwości obsługiwanych przez zestaw danych Google BigQuery.
Aby skopiować dane z usługi Google BigQuery, ustaw właściwość type zestawu danych na GoogleBigQueryObject. Obsługiwane są następujące właściwości:
Właściwości | Opis | Wymagania |
---|---|---|
type | Właściwość type zestawu danych musi być ustawiona na: GoogleBigQueryObject | Tak |
zestaw danych | Nazwa zestawu danych Google BigQuery. | Nie (jeśli określono "zapytanie" w źródle działania) |
table | Nazwa tabeli. | Nie (jeśli określono "zapytanie" w źródle działania) |
tableName | Nazwa tabeli. Ta właściwość jest obsługiwana w celu zapewnienia zgodności z poprzednimi wersjami. W przypadku nowego obciążenia użyj polecenia dataset i table . |
Nie (jeśli określono "zapytanie" w źródle działania) |
Przykład
{
"name": "GoogleBigQueryDataset",
"properties": {
"type": "GoogleBigQueryObject",
"typeProperties": {},
"schema": [],
"linkedServiceName": {
"referenceName": "<GoogleBigQuery linked service name>",
"type": "LinkedServiceReference"
}
}
}
Właściwości działania kopiowania
Aby uzyskać pełną listę sekcji i właściwości dostępnych do definiowania działań, zobacz artykuł Pipelines (Potoki ). Ta sekcja zawiera listę właściwości obsługiwanych przez typ źródła Google BigQuery.
GoogleBigQuerySource jako typ źródła
Aby skopiować dane z google BigQuery, ustaw typ źródła w działaniu kopiowania na GoogleBigQuerySource. Poniższe właściwości są obsługiwane w sekcji źródła działania kopiowania.
Właściwości | Opis | Wymagania |
---|---|---|
type | Właściwość type źródła działania kopiowania musi być ustawiona na GoogleBigQuerySource. | Tak |
zapytanie | Użyj niestandardowego zapytania SQL, aby odczytać dane. Może to być na przykład "SELECT * FROM MyTable" . |
Nie (jeśli określono "tableName" w zestawie danych) |
Przykład:
"activities":[
{
"name": "CopyFromGoogleBigQuery",
"type": "Copy",
"inputs": [
{
"referenceName": "<GoogleBigQuery input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "GoogleBigQuerySource",
"query": "SELECT * FROM MyTable"
},
"sink": {
"type": "<sink type>"
}
}
}
]
Właściwości działania wyszukiwania
Aby dowiedzieć się więcej o właściwościach, sprawdź działanie Wyszukiwania.
Powiązana zawartość
Aby uzyskać listę magazynów danych obsługiwanych jako źródła i ujścia działania kopiowania, zobacz Obsługiwane magazyny danych.