Daten aus MySQL in BigQuery replizieren

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

Ziele

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 erstellen und ausführen
  4. Ergebnisse in BigQuery anzeigen

Kosten

In diesem Dokument verwenden Sie die folgenden kostenpflichtigen Komponenten von Google Cloud:

Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung vornehmen. Verwenden Sie den Preisrechner.

Neuen Google Cloud Nutzern vonsteht möglicherweise eine kostenlose Testversion zur Verfügung.

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

Hinweis

  1. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  2. Verify that billing is enabled for your Google Cloud project.

  3. Enable the Cloud Data Fusion, BigQuery, and Cloud Storage APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  4. Erstellen Sie eine öffentliche Cloud Data Fusion-Instanz in Version 6.3.0 oder höher. Wenn Sie eine private Instanz erstellen, richten Sie VPC-Netzwerk-Peering ein.
    • Aktivieren Sie beim Erstellen der Instanz die Replikation, indem Sie auf Beschleuniger hinzufügen klicken und das Kästchen Replikation anklicken.
    • Informationen zum Aktivieren in einer vorhandenen Instanz finden Sie unter Replikation aktivieren.

Erforderliche Rollen

Informationen zu den Berechtigungen, die Sie für diese Anleitung benötigen, finden Sie unter Zugriffssteuerung mit IAM und Dienstkontoberechtigungen gewähren.

MySQL in Compute Engine installieren

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

  2. Laden Sie Ihr Docker Image in die Artifact 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 herunter (Version 8 oder höher) auf Ihren lokalen Computer.

  2. Laden Sie in der Cloud Data Fusion-Weboberfläche 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.

Auftrag erstellen

  1. Klicken Sie in der Cloud Data Fusion-Weboberfläche auf Replikation.

  2. Klicken Sie auf Replikationsjob erstellen.

  3. Geben Sie auf der Seite Neuen Replikationsjob erstellen einen Namen für den Replikationsjob an und klicken Sie auf 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 oder den Namen aus , 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 Weiter.

  6. 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: Konfigurieren Sie im Abschnitt Erweitert den Namen, den Speicherort, das Ladeintervall, das Präfix der Staging-Tabelle und das Verhalten des Staging- Buckets, wenn Tabellen oder Datenbanken gelöscht werden.
  7. Klicken Sie auf Weiter.

  8. 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, z. B. Einfüge-, Aktualisierungs- und Löschereignisse.

  9. Optional: Konfigurieren Sie die erweiterten Attribute. Für diese Anleitung können Sie die Standardeinstellungen verwenden.

  10. Klicken Sie auf Weiter.

  11. 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. Probleme müssen behoben werden, bevor Sie 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 Sie stattdessen Tabellen oder Ereignisse (Einfüge-, Aktualisierungs- oder Löschvorgänge) ohne Probleme aus.

    Weitere Informationen zu Datentypkonvertierungen von der Quelldatenbank zum BigQuery-Ziel finden Sie unter Datentypen für die Replikation.

  12. Klicken Sie auf Weiter.

  13. Prüfen Sie die Details des Replikationsjobs und klicken Sie dann auf Replikationsjob bereitstellen.

Job starten

  • Klicken Sie auf der Seite Replikationsjobdetails auf Starten.

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.

Job ü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 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. Rufen Sie in der Google Cloud Console die Seite "BigQuery" auf.

    BigQuery aufrufen

  2. Wählen Sie im linken Bereich den Namen Ihres Projekts aus, um eine Liste der Datasets zu maximieren.

  3. Wenn Sie die Ergebnisse ansehen möchten, 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.

Bereinigen Sie nach Abschluss der Anleitung die erstellten Ressourcen, damit Ihnen diese nicht weiter in Rechnung gestellt werden. Google Cloud 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

  1. Wechseln Sie in der Google 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