Daten aus MySQL in BigQuery replizieren

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

Lernziele

In dieser Anleitung lernen Sie, wie Sie:

  1. Ihre MySQL-Datenbank in Compute Engine bereitstellen
  2. Ihre MySQL-Datenbank zum Aktivieren der Replikation einrichten
  3. Einen Cloud Data Fusion-Replikationsjob und erstellen und ausführen
  4. Ergebnisse in BigQuery anzeigen

Kosten

In dieser Anleitung werden die folgenden kostenpflichtigen Komponenten von Google Cloud verwendet:

Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung vornehmen. Neuen Google Cloud-Nutzern steht möglicherweise eine kostenlose Testversion zur Verfügung.

Wenn die Replikation ausgeführt wird, wird Ihnen der Dataproc-Cluster in Rechnung gestellt und es entstehen Verarbeitungskosten für BigQuery. Zur Optimierung dieser Kosten empfehlen wir dringend, BigQuery-Pauschalpreise zu verwenden.

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 ein Projekt aktiviert ist.

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

    Aktivieren Sie die APIs

  5. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

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

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

    Aktivieren Sie die APIs

  8. Erstellen Sie eine private Cloud Data Fusion-Instanz in Version 6.3.0 oder höher. Führen Sie beim Einrichten der Instanz folgende Schritte aus:
    • Aktivieren Sie Virtual Private Cloud-Peering.
    • Aktivieren Sie die Replikation: Klicken Sie auf Beschleuniger hinzufügen und wählen Sie Replikation aus.

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

MySQL in Compute Engine installieren

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

  2. Laden Sie Ihr Docker-Image in Container Registry hoch.

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

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

    Zur Seite "Laufwerke"

  5. Erstellen Sie eine Firewall für die VM-Instanz.

  6. Installieren Sie die Sakila-Beispieldatenbank.

Replikation in Ihrer MySQL-Datenbank aktivieren

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

Cloud Data Fusion-Replikationsjob erstellen und ausführen

JDBC-Treiber hochladen

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

  2. Laden Sie in der Cloud Data Fusion-UI den JDBC-Treiber hoch.

    Konfigurieren Sie den JDBC-Treiber mit diesen Werten:

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

Pipeline erstellen

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

  2. Geben Sie auf der Seite Neuen Replikationsjob erstellen einen Namen für den Replikationsjob an.

  3. Klicken Sie auf Next (Weiter).

  4. Konfigurieren Sie die Quelle:

    1. Wählen Sie MySQL als Quelle aus.
    2. Geben Sie unter Host den Hostnamen des MySQL-Servers ein, aus dem gelesen werden soll.
    3. Geben Sie unter Port den Port ein, der für die Verbindung zum MySQL Server verwendet werden soll: 3306.
    4. Wählen Sie unter Name des JDBC-Plug-ins mysql aus oder den Namen, den Sie bei der Konfiguration 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 erfolgreich ist, wird eine Liste der Sakila-Beispieldatenbanktabellen 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 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 Attribute. 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 für eine der Tabellen auf Zuordnungen anzeigen, um eine Bewertung der Schemaprobleme, der fehlenden Features oder der Verbindungsprobleme zu erhalten, die während der Replikation auftreten können. Wenn Probleme auftreten, müssen diese behoben werden, um fortfahren können. Wenn in dieser Anleitung Probleme mit Tabellen auftreten, gehen Sie zurück zu dem Schritt, an dem Sie Tabellen ausgewählt haben, und wählen stattdessen eine Tabelle oder ein Ereignis (Einfüge-, Aktualisierungs- 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 Replikationsjob bereitstellen.

Pipeline starten

Auf der Seite Replikationsjobdetails:

Klicken Sie auf Start.

Der Replikationsjob wechselt vom Status Wird bereitgestellt zu Wird gestartet zu Wird ausgeführt. Im Status "Wird ausgeführt" lädt der Replikationsjob einen ersten Snapshot der ausgewählten Tabellendaten in BigQuery. In diesem Status wird der Status der Tabelle als Snapshots werden erstellt aufgeführt. Nachdem der erste Snapshot in BigQuery geladen wurde, werden alle an der Tabelle vorgenommenen Änderungen nach BigQuery repliziert und der Status der Tabelle als Wird repliziert aufgeführt.

Pipeline überwachen

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

Sie können die Aktivitäten des Replikationsjobs auf der Seite Replikationsjobdetails überwachen.

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

  2. Klicken Sie auf Monitoring.

Ergebnisse in BigQuery anzeigen

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

  1. Öffnen Sie BigQuery in der Cloud Console.

  2. Klicken Sie im linken Bereich auf den Namen Ihres Projekts, um eine Liste der Datasets zu maximieren.

  3. Wählen Sie zuerst 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.

Weitere Informationen