Daten von MySQL in BigQuery replizieren

In dieser Anleitung erfahren Sie, wie Sie eine Pipeline erstellen und bereitstellen, die geänderte Daten kontinuierlich von einer MySQL-Datenbank in eine BigQuery-Tabelle repliziert.

Ziele

In dieser Anleitung lernen Sie, wie Sie:

  1. MySQL-Datenbank in Compute Engine bereitstellen
  2. Richten Sie Ihre MySQL-Datenbank ein, um die Replikation zu aktivieren.
  3. Erstellen Sie einen Cloud Data Fusion-Replikationsjob und führen Sie ihn aus.
  4. Sehen Sie sich die Ergebnisse in BigQuery an.

Kosten

In dieser Anleitung werden kostenpflichtige Komponenten von Google Cloud verwendet, darunter:

Die Replikation wird Ihnen für den Dataproc-Cluster in Rechnung gestellt und für BigQuery fallen Verarbeitungskosten an. Zur Optimierung dieser Kosten empfehlen wir die Verwendung der Pauschalpreise für BigQuery.

Sie können mithilfe des Preisrechners die Kosten für Ihre voraussichtliche Nutzung kalkulieren. Neuen Google Cloud-Nutzern steht möglicherweise eine kostenlose Testversion zur Verfügung.

Hinweis

  1. Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  3. Die Abrechnung für das Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für Ihr Projekt aktiviert ist.

  4. Cloud Data Fusion, BigQuery, and Cloud Storage APIs aktivieren.

    Aktivieren Sie die APIs

  5. Erstellen Sie eine private Cloud Data Fusion-Instanz in Version 6.3.0 oder höher. Beim Einrichten der Instanz:

Wenn Sie eine vorhandene Instanz verwenden oder im Cloud Data Fusion-Menü die Replikation nicht sehen, lesen Sie Upgrade zum Aktivieren der Replikation.

MySQL in Compute Engine installieren

  1. Laden Sie ein Docker Server-Docker-Image herunter.

  2. Hochladen Ihres Docker-Images in die Container Registry

  3. Stellen Sie das Docker-Image auf einer neuen VM-Instanz bereit.

  4. Ändern Sie auf der Seite Laufwerke von Compute Engine die Laufwerksgröße in 500 GB und starten Sie dann die VM neu.

    Zur Seite "Laufwerke"

  5. Eine Firewall für die VM-Instanz erstellen.

  6. Installieren Sie die Sakila-Beispieldatenbank.

Replikation in Ihrer MySQL-Datenbank aktivieren

Aktivieren Sie Change Data Capture (CDC) in MySQL, um die Replikation zu aktivieren.

Cloud Data Fusion-Replikationsjob erstellen und ausführen

JDBC-Treiber hochladen

  1. Laden Sie den MySQL-JDBC-Treiber (Version 8 oder höher) auf Ihren lokalen Rechner herunter.

  2. Laden Sie in der Cloud Data Fusion-Benutzeroberfläche den JDBC-Treiber hoch.

    Verwenden Sie diese Werte, um den JDBC-Treiber zu konfigurieren:

    • Geben Sie im Feld Name mysql ein.
    • Übernehmen Sie im Feld Version den Standardwert.
    • Geben Sie im Feld Klassenname com.mysql.jdbc.Driver ein.

Pipeline erstellen

  1. Klicken Sie in der Cloud Data Fusion-Benutzeroberfläche auf das Menü und rufen Sie die Seite Replikation auf.

  2. Geben Sie auf der Seite Neuen Replikationsjob erstellen den Namen eines Replikationsjobs an.

  3. Klicken Sie auf Next (Weiter).

  4. Konfigurieren Sie die Quelle:

    1. Wählen Sie MySQL als Quelle aus.
    2. Geben Sie als Host den Hostnamen des MySQL-Servers ein, aus dem gelesen werden soll.
    3. Geben Sie für Port den Port ein, der für die Verbindung mit dem MySQL-Server verwendet werden soll: 3306.
    4. Wählen Sie für JDBC-Plug-in-Name mysql oder den Namen aus , den Sie beim Konfigurieren des JDBC-Treibers angegeben haben.
    5. Geben Sie als Datenbankname sakila ein.
    6. Geben Sie im Abschnitt Anmeldedaten Ihren Nutzernamen und Ihr Passwort ein, um auf den MySQL-Server zuzugreifen.
  5. Klicken Sie auf Next (Weiter).

  6. Wenn die Verbindung hergestellt wurde, wird eine Liste der Beispieldatenbanken auf Silila angezeigt. Wählen Sie für diese Anleitung einige Tabellen und Ereignisse aus, die repliziert werden sollen (einschließlich Einfügen, Aktualisieren und Löschen).

  7. Klicken Sie auf Next (Weiter).

  8. Konfigurieren Sie das Ziel:

    1. Wählen Sie das BigQuery-Ziel aus.
    2. Die Projekt-ID und der Dienstkontoschlüssel werden automatisch erkannt. Ändern Sie sie nicht.
    3. (Optional) Im Abschnitt Advanced (Erweitert) können Sie den Namen und den Speicherort des Staging-Buckets, das Ladeintervall, das Präfix der Staging-Tabelle und das Verhalten konfigurieren, wenn Tabellen oder Datenbanken gelöscht werden.
  9. Klicken Sie auf Next (Weiter).

  10. (Optional) Konfigurieren Sie die erweiterten Eigenschaften. Für diese Anleitung können Sie die Standardeinstellungen verwenden.

  11. Klicken Sie auf Next (Weiter).

  12. Klicken Sie auf der Seite Bewertung prüfen unter einer der Tabellen auf Zuordnungen anzeigen, um eine Bewertung der Schemaprobleme, fehlenden Funktionen oder Verbindungsprobleme zu erhalten, die während der Replikation auftreten. Sollten Probleme auftreten, müssen Sie sie beheben, bevor Sie fortfahren können. Wenn in dieser Anleitung Probleme mit einer der Tabellen auftreten, fahren Sie mit dem Schritt zurück, bei dem Sie Tabellen ausgewählt haben. Wählen Sie stattdessen eine Tabelle oder ein Ereignis (Einfügen, Aktualisierungen oder Löschvorgänge) ohne Probleme aus.

  13. Klicken Sie auf Back (Zurück).

  14. Klicken Sie auf Next (Weiter).

  15. Prüfen Sie die Details des Replikationsjobs und klicken Sie dann auf Deploy Replication job (Replikationsjob bereitstellen).

Pipeline starten

Auf der Seite Details zum Replikationsjob:

Klicken Sie auf Start.

Der Replikationsjob wechselt von Provisioning zu Start in Running. Im Ausführungsstatus lädt der Replikationsjob einen ersten Snapshot der Tabellendaten, die Sie in BigQuery ausgewählt haben. In diesem Status wird der Status der Tabelle als Snapshot angezeigt. Nachdem der erste Snapshot in BigQuery geladen wurde, werden alle Änderungen an der Tabelle in BigQuery repliziert und der Status der Tabelle wird als Replizieren aufgeführt.

Pipeline überwachen

Sie können den Replikationsjob starten und stoppen, seine Konfiguration und Logs überprüfen und den Replikationsjob überwachen.

Sie können die Aktivitäten des Replikationsjobs auf der Seite Details zum Replikationsjob überprüfen.

  1. Klicken Sie auf der Seite Replikation auf den gewünschten Namen des Replikationsjobs.

  2. Klicken Sie auf Monitoring.

Ergebnisse in BigQuery ansehen

Der Replikationsjob erstellt in BigQuery ein repliziertes Dataset und eine Tabelle mit Namen, die aus den entsprechenden MySQL-Datenbank- und Tabellennamen übernommen wurden.

  1. BigQueryffnen Sie BigQuery in der Cloud Console.

  2. Klicken Sie im linken Bereich auf den Projektnamen, um die Liste der Datasets zu erweitern.

  3. Wählen Sie das Dataset sakila und dann eine Tabelle aus.

Weitere Informationen finden Sie in der BigQuery-Dokumentation.

Bereinigen

Damit Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen nicht in Rechnung gestellt werden, löschen Sie entweder das Projekt, das die Ressourcen enthält, oder Sie behalten das Projekt und löschen die einzelnen Ressourcen.

Nachdem Sie diese Anleitung abgeschlossen haben, bereinigen Sie die in Google Cloud erstellten Ressourcen, damit sie keine kostenpflichtigen Kontingente verbrauchen. In den folgenden Abschnitten erfahren Sie, wie Sie diese Ressourcen löschen oder deaktivieren.

Löschen Sie die Cloud Data Fusion-Instanz.

Folgen Sie der Anleitung zum Löschen Ihrer Cloud Data Fusion-Instanz.

Projekt löschen

Am einfachsten vermeiden Sie weitere Kosten durch Löschen des für die Anleitung erstellten Projekts.

So löschen Sie das Projekt:

  1. Wechseln Sie in der Cloud Console zur Seite Ressourcen verwalten.

    Zur Seite „Ressourcen verwalten“

  2. Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie dann auf Löschen.
  3. Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Shut down (Beenden), um das Projekt zu löschen.

Nächste Schritte