Udostępnij za pośrednictwem


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:

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.

  1. 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:

  2. Wyszukaj pozycję Google i wybierz łącznik Google BigQuery.

    Zrzut ekranu przedstawiający łącznik Google BigQuery.

  3. Skonfiguruj szczegóły usługi, przetestuj połączenie i utwórz nową połączoną usługę.

    Zrzut ekranu przedstawiający konfigurację połączonej usługi dla usługi Google BigQuery.

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.

Aby uzyskać listę magazynów danych obsługiwanych jako źródła i ujścia działania kopiowania, zobacz Obsługiwane magazyny danych.