Daten von MySQL in BigQuery replizieren

In dieser Anleitung erfahren Sie, wie Sie eine Pipeline erstellen und bereitstellen, die fortlaufend geänderte Daten aus 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. Cloud Data Fusion-Replikationsjob erstellen und ausführen
  4. Sehen Sie sich die Ergebnisse in BigQuery an.

Kosten

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

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

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. 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 Ihr 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. Beim Einrichten der Instanz:
    • Aktivieren Sie Virtual Private Cloud-Peering.
    • Klicken Sie zum Aktivieren der Replikation 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 sehen, lesen Sie Upgrade zum Aktivieren der Replikation.

MySQL in Compute Engine installieren

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

  2. Hochladen Ihres Docker-Images in Container Registry

  3. Docker-Image auf einer neuen VM-Instanz bereitstellen

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

    Zur Seite "Laufwerke"

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

  6. Installieren Sie die Sakila-Beispieldatenbank.

Replikation in der MySQL-Datenbank aktivieren

Richten Sie in MySQL die Änderungsdatenerfassung ein, 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 Computer herunter.

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

    Verwenden Sie diese Werte zum Konfigurieren des JDBC-Treibers:

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

Pipeline erstellen

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

  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 für Host den Hostnamen des MySQL-Servers ein, aus dem gelesen werden soll.
    3. Geben Sie als Port den Port für die Verbindung zum MySQL-Server ein: 3306.
    4. Wählen Sie für Name des JDBC-Plug-ins die Option mysql (oder den Namen , den Sie bei der Konfiguration des JDBC-Treibers angegeben haben) aus.
    5. Geben Sie für Datenbankname sakila ein.
    6. Geben Sie im Abschnitt Credentials 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 von Beispieltabellen der Sakila-Datenbank angezeigt. Wählen Sie für diese Anleitung einige Tabellen und Ereignisse aus, die repliziert werden sollen, einschließlich "Einfügen", "Aktualisieren" und "Ereignisse 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 bei dem Löschen von Tabellen oder Datenbanken konfigurieren.
  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 bei einer der Tabellen auf Zuordnungen ansehen, um eine Bewertung der Schemaprobleme, fehlender Features oder der Verbindungsprobleme zu erhalten, die während der Replikation auftreten. Wenn Probleme auftreten, müssen diese behoben werden, bevor Sie fortfahren können. Falls es in einer dieser Tabellen Probleme gibt, kehren Sie zum Schritt zurück, in dem Sie Tabellen ausgewählt haben, und wählen Sie stattdessen eine Tabelle oder ein Ereignis aus (Insert, Update oder Delete), ohne dass Probleme auftreten.

  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

Gehen Sie auf der Seite Replikationsjobdetails so vor:

Klicken Sie auf Start.

Der Replikationsjob wechselt vom Status Bereitstellung in Wird gestartet in Wird ausgeführt. Im laufenden Zustand lädt der Replikationsjob einen ersten Snapshot der ausgewählten Tabellendaten in BigQuery. In diesem Status wird der Status der Tabelle als Snapshot aufgeführt. Nachdem der erste Snapshot in BigQuery geladen wurde, werden alle an der Tabelle vorgenommenen Änderungen in BigQuery repliziert und der Status der Tabelle wird als Replikat angezeigt.

Pipeline überwachen

Sie können den Replikationsjob starten und beenden, die Konfiguration und die 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 für den Replikationsjob.

  2. Klicken Sie auf Monitoring.

Ergebnisse in BigQuery anzeigen

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

  1. Öffnen Sie in der Cloud Console BigQuery.

  2. Klicken Sie im linken Bereich auf den Namen Ihres Projekts, um die 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.

Nächste Schritte