Einrichten des Openflow Connector for Google BigQuery¶
Bemerkung
Dieser Connector unterliegt den `Nutzungsbedingungen für Snowflake Connector<https://www.snowflake.com/legal/snowflake-connector-terms/>`_.
Unter diesem Thema werden die Schritte zur Einrichtung des Openflow Connector for Google BigQuery beschrieben.
Voraussetzungen¶
Lesen Sie Allgemeine Informationen zum Openflow Connector for Google BigQuery.
Richten Sie Ihre Laufzeitumgebung ein.
Stellen Sie bei der Verwendung von Openflow - Snowflake Deployments sicher, dass Sie Konfigurieren der erforderlichen Domänen gelesen haben und Zugriff auf die erforderlichen Domänen für den Konnektor gewährt haben.
Sie haben Zugriff auf die Rolle des Openflow-Admins oder eine ähnliche Rolle, die Sie zur Verwaltung von Openflow verwenden.
Wenn Sie einen Snowflake-Dienstbenutzenden zum Verwalten des Konnektors erstellen, haben Sie eine Schlüsselpaar-Authentifizierung erstellt. Weitere Informationen finden Sie unter Schlüsselpaar-Authentifizierung.
Erforderliche Endpunkte¶
Die folgenden Endpunkte sind erforderlich, damit der Konnektor funktioniert:
bigquery.googleapis.com:443bigquerystorage.googleapis.com:443oauth2.googleapis.com:443
Wenn Sie Openflow – BYOC verwenden, müssen Sie den ausgehenden Datenverkehr Ihres Cloud-Netzwerks so konfigurieren, dass der TLS 443-Zugriff auf die oben aufgeführten Endpunkte möglich ist. Wenn Sie Openflow - Snowflake Deployments verwenden, müssen Sie eine Netzwerkregel und eine Integration für den externen Zugriff (EAI) erstellen. Erteilen Sie dann der Snowflake-Rolle die Nutzungsberechtigung für die EAI.
BigQuery einrichten¶
Erstellen Sie ein Google Cloud Service-Konto und erteilen Sie diesem die erforderlichen Berechtigungen zum Lesen von BigQuery-Daten. Der Konnektor verwendet dieses Konto für die Authentifizierung.
Dieses Konto muss über die folgenden Berechtigungen verfügen:
Wichtig
BigQuery Data Editormuss auf Projektebene erteilt werden, nicht für einzelne Datensets. Der Konnektor fragt{project}.{region}.INFORMATION_SCHEMA.TABLESab, um Tabellen in allen konfigurierten Regionen zu ermitteln – eine regionsbezogene Ansicht, die Zugriff auf Projektebene erfordert. Der Konnektor fragt zudem{project}.{dataset}.INFORMATION_SCHEMA.KEY_COLUMN_USAGEab, um die Primärschlüssel für jede replizierte Tabelle zu bestimmen. Ohne Zugriff auf Projektebene schlägt die Abfrage mit einemAccess Denied-Fehler fehl und der Konnektor wird nicht korrekt ausgeführt.
Generieren Sie die entsprechende JSON-Schlüsseldatei für das Dienstkonto und laden Sie diese herunter. Sie benötigen den vollständigen Inhalt dieser Datei für die Konfiguration des Konnektors.
Aktivieren Sie den Änderungsverlauf für jede Quelltabelle, damit der Konnektor eine inkrementelle Replikation durchführen kann. Dieses Feature ermöglicht BigQuery, Änderungen auf Zeilenebene (Einfügungen, Aktualisierungen und Löschungen) zu verfolgen, die der Konnektor verwendet, um Daten effizient zu synchronisieren.
Führen Sie die folgende Abfrage in der BigQuery-Konsole für jede Tabelle aus:
Einrichten Ihres Snowflake-Kontos¶
Führen Sie als Openflow-Admin die folgenden Aufgaben aus, um Ihr Snowflake-Konto einzurichten:
Snowflake-Servicebenutzer erstellen:
Speichern Sie den privaten Schlüssel für diesen Benutzenden in einer Datei, um sie für die Konfiguration des Konnektors bereitzustellen. Weitere Informationen finden Sie unter Schlüsselpaar-Authentifizierung.
Erstellen Sie eine Datenbank, in der die replizierten Daten gespeichert werden, und richten Sie Berechtigungen für den Snowflake-Benutzenden zum Erstellen von Objekten in dieser Datenbank durch Gewähren der USAGE- undCREATESCHEMA-Berechtigungen ein.
Erstellen Sie ein neues Warehouse oder verwenden Sie ein bestehendes Warehouse für den Konnektor.
So erstellen Sie ein neues Warehouse:
Beginnen Sie mit dem Warehouse-Größe MEDIUM. Experimentieren Sie dann mit der Größe abhängig von der Menge der zu replizierenden Tabellen und der übertragenen Datenmenge.
Um festzustellen, ob Sie die Größe erhöhen sollten, überwachen Sie den Konnektor und die Datenbank, während die Datenreplikation läuft. Wenn Sie erhebliche Verzögerungen bei der inkrementellen Replikation feststellen, experimentieren Sie mit einer größeren Warehouse-Größe. Eine große Anzahl von Tabellen können normalerweise besser mit Multi-Cluster-Warehouses und nicht anhand einer höheren Warehouse-Größe skaliert werden.
Erstellen Sie eine Integration für den externen Zugriff, um den Zugriff auf das Netzwerk außerhalb von Snowflake zu ermöglichen.
Vorsicht
Wenn Ihre Laufzeit in Openflow – BYOC ausgeführt wird, müssen Sie keine Integration für den externen Zugriff (EAI) erstellen. Konfigurieren Sie stattdessen den ausgehenden Datenverkehr Ihres Cloud-Netzwerks so, dass der TLS 443-Zugriff auf die unten aufgeführten Endpunkte möglich ist.
Erforderliche Host:Port-Endpunkte sind unter Erforderliche Endpunkte aufgeführt.
Damit der Konnektor die erforderliche Google-APIs von einer Snowflake-gehosteten Laufzeitumgebung aus aufrufen kann, müssen Sie eine Netzwerkregel und eine Integration für den externen Zugriff (EAI) erstellen. Erteilen Sie dann der Snowflake-Rolle die Nutzungsberechtigung für die EAI.
Um die Integration für den externen Zugriff und die Netzwerkregel zu erstellen und den Zugriff zu gewähren, führen Sie die folgenden Schritte aus:
Erstellen Sie eine Netzwerkregel, um dem Konnektor den Zugriff auf die erforderlichen Google-APIs zu ermöglichen:
Erstellen einer Integration für den externen Zugriff, die auf die Netzwerkregel verweist:
Zuweisen der USAGE-Berechtigung zur Ihrer Snowflake-Rolle für die Integration:
Konnektor installieren¶
Um den Konnektor zu installieren, gehen Sie als Data Engineer wie folgt vor:
Navigieren Sie zur Übersichtsseite von Openflow. Wählen Sie im Abschnitt Featured connectors die Option View more connectors aus.
Suchen Sie auf der Seite Openflow-Konnektoren den Konnektor und wählen Sie Add to runtime.
Wählen Sie im Dialogfeld Select runtime Ihre Laufzeitumgebung aus der Dropdown-Liste Available runtimes aus, und klicken Sie auf Add.
Bemerkung
Bevor Sie den Konnektor installieren, stellen Sie sicher, dass Sie in Snowflake eine Datenbank und ein Schema für den Konnektor erstellt haben, in dem die aufgenommenen Daten gespeichert werden.
Authentifizieren Sie sich bei der Bereitstellung mit den Anmeldedaten Ihres Snowflake-Kontos und wählen Sie Allow, wenn Sie dazu aufgefordert werden, damit die Laufzeitanwendung auf Ihr Snowflake-Konto zugreifen kann. Die Installation des Konnektors nimmt einige Minuten in Anspruch.
Authentifizieren Sie sich bei der Laufzeit mit den Anmeldeinformationen Ihres Snowflake-Kontos.
Das Openflow-Canvas wird mit der hinzugefügten Prozessgruppe des Konnektors angezeigt.
Konnektor konfigurieren¶
Um den Konnektor zu konfigurieren, führen Sie die folgenden Schritte aus:
Klicken Sie mit der rechten Maustaste auf die hinzugefügte Laufzeitumgebung, und wählen Sie Parameters aus.
Füllen Sie die erforderlichen Parameterwerte, wie unter Ablaufparameter angeben beschrieben.
Ablaufparameter angeben¶
In diesem Abschnitt werden die Ablaufparameter beschrieben, die Sie anhand der folgenden Parameterkontexte konfigurieren können:
`BigQuery-Quellparameter `_: Werden verwendet, um die Konfiguration für das Lesen von Daten aus BigQuery zu definieren.
`BigQuery-Zielparameter `_: Wird verwendet, um eine Verbindung zu Snowflake herzustellen.
`BigQuery-Aufnahmeparameter `_: Werden verwendet, um die zu replizierenden Tabellen und Ansichten anzugeben.
BigQuery-Quellparameter¶
Parameter |
Beschreibung |
|---|---|
BigQuery Project Name |
Der eindeutige Bezeichner des Google Cloud-Projekts, das BigQuery-Datensets und -Tabellen enthält. Wo zu finden: Öffnen Sie BigQuery Studio (Google Cloud Console >BigQuery) und bewegen Sie den Mauszeiger im linken Explorer-Bereich über Ihr Projekt, um die Projekt-ID anzuzeigen. Beispiel: |
GCP Service Account JSON |
Der gesamte Inhalt der JSON-Schlüsseldatei für das Google Cloud Platform-Dienstkonto, das für die Authentifizierung verwendet wird. Stellen Sie sicher, dass das Dienstkonto über die erforderliche IAM- Berechtigungen zum Ausführen vonBigQuery-Operationen verfügt, wie z. B. BigQuery Job User- und BigQuery Data Viewer-Rollen. Wo zu finden: Google Cloud Console > IAM & Admin > Service Accounts > Dienstkonto auswählen > Registerkarte „Keys“ > Add key > Create new key > JSON. Dadurch wird eine .json-Datei heruntergeladen. Öffnen Sie diese und fügen Sie den gesamten Dateiinhalt (einschließlich der Klammern) in dieses Feld ein. |
BigQuery-Zielparameter¶
Parameter |
Beschreibung |
|---|---|
Snowflake Authentication Strategy |
Bei Verwendung von SPCS verwenden Sie SNOWFLAKE_SESSION_TOKEN als Wert für Authentifizierungsstrategie. Bei Verwendung von BYOC verwenden Sie KEY_PAIR als Wert für Authentifizierungsstrategie. Beispiel: |
Snowflake Account Identifier |
Bei Verwendung von:
|
Destination Database |
Der Name der Zieldatenbank, in die repliziert werden soll. Gemischte Groß-/Kleinschreibung wird unterstützt. |
Snowflake Private Key File |
Bei Verwendung von:
|
Snowflake Private Key Password |
Bei Verwendung von:
|
Snowflake Role |
Bei Verwendung von:
|
Snowflake-Benutzername |
Bei Verwendung von:
|
Snowflake Warehouse |
Der Name des Warehouses, das vom Konnektor verwendet werden soll. |
BigQuery-Aufnahmeparameter¶
Parameter |
Beschreibung |
|---|---|
BigQuery-Regionen |
Gibt eine durch Kommas getrennte Liste der Speicherorte an, die für BigQuery-Datensets abgefragt werden sollen. Sie können sowohl regionale als auch multiregionale Standorte in derselben Liste kombinieren. Beispiel: |
Included Dataset Names |
Durch Kommas getrennte Liste der zu replizierenden Datensets (abgefragt über alle ausgewählten Regionen hinweg). Beispiel: |
Included Dataset Names Regex |
Regulärer Ausdruck zur Angabe der Namen der zu replizierenden Datasets (abgefragt über alle ausgewählten Regionen hinweg). Kombiniert mit den Namen der enthaltenen Datensets, um alle übereinstimmenden Datensets einzuschließen. Hinweis: Der REGEXP-Ausdruck sollte mit der RE2-Syntax von Google übereinstimmen. Beispiel: |
Included Table Names |
Durch Kommas getrennte Liste von Tabellen, die über mehrere Datasets hinweg repliziert werden sollen. Beispiel: |
Included Table Names Regex |
Regulärer Ausdruck zur Angabe von Tabellennamen, die über Datensets hinweg repliziert werden sollen. Kombiniert mit den Namen der enthaltenen Tabellen, um alle übereinstimmenden Tabellen einzuschließen. Hinweis: Der REGEXP-Ausdruck sollte mit der RE2-Syntax von Google übereinstimmen. Beispiel: |
Included View Names |
Durch Kommas getrennte Liste von Ansichten, die über Datasets hinweg repliziert werden sollen. Beispiel: |
Included View Names Regex |
Regulärer Ausdruck zur Angabe von Ansichtsnamen, die über Datensets hinweg repliziert werden sollen. Kombiniert mit den Namen der enthaltenen Ansichten, um alle übereinstimmenden Ansichten einzuschließen. Hinweis: Der REGEXP-Ausdruck sollte mit der RE2-Syntax von Google übereinstimmen. Beispiel: |
Incremental Sync Frequency |
Wie oft der Konnektor eine inkrementelle Synchronisierung für jede Tabelle durchführt. Ausführungen überlappen sich nicht. Wenn ein Zyklus länger dauert als das konfigurierte Intervall, wartet der nächste Ausführung, bis der vorherige beendet ist. Weil BigQuery die maximale Größe des Fensters auf 24 Stunden begrenzt, muss der Zeitplan häufiger ausgeführt werden. Beispiel: |
View Sync Frequency |
Wie oft der Konnektor die Synchronisierung für jede Ansicht ausführt. Ausführungen überlappen sich nicht. Wenn ein Zyklus länger dauert als das konfigurierte Intervall, wartet der nächste Ausführung, bis der vorherige beendet ist. Die Ansichtserfassung unterstützt nichtCDC, nur Abschneiden und Laden. Beispiel: |
Temporary Table Dataset |
Datenset, in dem die erforderlichen temporären Tabellen erstellt werden, z. B.CDC-Journaltabellen oder temporäre Tabellen für die Ansichtserfassung. Snowflake empfiehlt, für temporäre Tabellen ein separates Datenset zu verwenden und das aufgenommene Datenset für diesen Zweck nicht zu verwenden. Beispiel: |
Führen Sie den Ablauf aus¶
Klicken Sie mit der rechten Maustaste auf die Ebene, und wählen Sie Enable all Controller Services.
Klicken Sie mit der rechten Maustaste auf die importierte Prozessgruppe und wählen Sie Start. Der Konnektor startet die Datenaufnahme.
Nächste Schritte¶
Informationen zu Aufgaben, die Sie nach der Installation des Konnektors ausführen können, finden Sie unter Konnektor verwenden.
Informationen zur Überwachung des Ablaufs finden Sie unter Ablauf überwachen.