In dieser Anleitung erfahren Sie, wie Sie einen Job erstellen und bereitstellen, mit dem geänderte Daten kontinuierlich aus einer MySQL-Datenbank in eine BigQuery-Tabelle repliziert werden.
Lernziele
In dieser Anleitung lernen Sie, wie Sie:
- Ihre MySQL-Datenbank in Compute Engine bereitstellen
- Ihre MySQL-Datenbank zum Aktivieren der Replikation einrichten
- Cloud Data Fusion-Replikationsjob erstellen und ausführen.
- 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.
Bei der Replikation werden Ihnen die Kosten für den Dataproc-Cluster und Verarbeitungskosten für BigQuery in Rechnung gestellt. Zur Optimierung dieser Kosten empfehlen wir dringend, BigQuery-Pauschalpreise zu verwenden.
Hinweise
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Data Fusion, BigQuery, and Cloud Storage APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Data Fusion, BigQuery, and Cloud Storage APIs.
- 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. Klicken Sie dazu auf Beschleuniger hinzufügen und dann auf das Kästchen Replikation.
- Informationen zum Aktivieren in einer vorhandenen Instanz finden Sie unter Replikation aktivieren.
Erforderliche Rollen
Informationen zum Abrufen der Berechtigungen, die Sie für diese Anleitung benötigen, finden Sie unter Zugriffssteuerung mit IAM und Dienstkontonutzerberechtigung gewähren.
MySQL in Compute Engine installieren
Stellen Sie Ihr Docker-Image auf einer neuen VM-Instanz bereit.
Ändern Sie auf der Compute Engine-Seite Laufwerke die Laufwerksgröße in
500 GB
und starten Sie die VM neu.Erstellen Sie eine Firewall für die VM-Instanz.
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
Laden Sie den JDBC-Treiber für MySQL (Version 8 oder höher) auf Ihren lokalen Computer herunter.
Laden Sie den JDBC-Treiber in die Cloud Data Fusion-Weboberfläche 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.
- Geben Sie im Feld Name
Auftrag erstellen
Klicken Sie in der Weboberfläche von Cloud Data Fusion auf Replikation.
Klicken Sie auf
Replikationsjob erstellen.Geben Sie auf der Seite Neuen Replikationsjob erstellen den Namen eines Replikationsjobs an und klicken Sie auf Weiter.
Konfigurieren Sie die Quelle:
- Wählen Sie MySQL als Quelle aus.
- Geben Sie unter Host den Hostnamen des MySQL-Servers ein, aus dem gelesen werden soll.
- Geben Sie unter Port den Port ein, der für die Verbindung zum MySQL Server verwendet werden soll:
3306
. - Wählen Sie als JDBC-Plug-in-Name
mysql
oder den Namen aus , den Sie bei der Konfiguration des JDBC-Treibers angegeben haben. - Geben Sie als Datenbankname
sakila
ein. - Geben Sie im Abschnitt Anmeldedaten Ihren Nutzernamen und Ihr Passwort ein, um auf den MySQL-Server zuzugreifen.
Klicken Sie auf Next (Weiter).
Konfigurieren Sie das Ziel:
- Wählen Sie das BigQuery-Ziel aus.
- Die Projekt-ID und der Dienstkontoschlüssel werden automatisch erkannt. Ändern Sie sie nicht.
- 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.
Klicken Sie auf Next (Weiter).
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ügen“-, „Aktualisieren“- und „Löschen“-Ereignisse.
Optional: Konfigurieren Sie die erweiterten Eigenschaften. Für diese Anleitung können Sie die Standardeinstellungen verwenden.
Klicken Sie auf Next (Weiter).
Klicken Sie auf der Seite Bewertung überprüfen nach einer beliebigen Tabelle auf Zuordnungen ansehen, um eine Bewertung von Schemaproblemen, fehlenden Features oder Konnektivitätsproblemen zu erhalten, die während der Replikation auftreten können. Wenn Probleme auftreten, müssen diese behoben werden, bevor Sie fortfahren können. Wenn Probleme mit einer der Tabellen auftreten, kehren Sie für diese Anleitung zu dem Schritt zurück, in dem Sie Tabellen ausgewählt haben, und wählen Sie Tabellen oder Ereignisse („Einfügungen“, „Aktualisierungen“ oder „Löschungen“) ohne Probleme aus.
Weitere Informationen zu Datentypkonvertierungen von der Quelldatenbank in das BigQuery-Ziel finden Sie unter Replikationsdatentypen.
Klicken Sie auf Next (Weiter).
Prüfen Sie die zusammenfassenden Details des Replikationsjobs und klicken Sie dann auf Replikationsjob bereitstellen.
Job starten
- Klicken Sie auf der Seite Details zum Replikationsjob auf Starten.
Der Replikationsjob wechselt vom Status Wird bereitgestellt in den Status Wird gestartet in den Status Wird ausgeführt. Im Status „Wird ausgeführt“ lädt der Replikationsjob einen ersten Snapshot der von Ihnen 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, die Konfiguration und Logs überprüfen sowie den Replikationsjob überwachen.
Sie können Aktivitäten von Replikationsjobs auf der Seite Details zum Replikationsjob überwachen.
Klicken Sie auf der Seite Replikation auf den Namen des Replikationsjobs.
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.
Rufen Sie in der Google Cloud Console die Seite „BigQuery“ auf.
Wählen Sie im linken Bereich den Projektnamen aus, um eine Liste der Datasets zu maximieren.
Wählen Sie zum Aufrufen der Ergebnisse das Dataset
sakila
und 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
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Nächste Schritte
- Weitere Informationen zur Replikation in Cloud Data Fusion
- Replication API-Referenz
- Anleitung zum Replizieren von Daten aus SQL Server in BigQuery
- Anleitung zum Replizieren von Daten aus Oracle in BigQuery