Für Änderungsstreams aktivierte Tabelle erstellen und Änderungen erfassen
Hier erfahren Sie, wie Sie eine Bigtable-Tabelle mit einem aktivierten Änderungsstream einrichten, eine Änderungsstream-Pipeline ausführen, Änderungen an Ihrer Tabelle vornehmen und die Änderungen dann streamen.
Hinweise
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.
-
Enable the Dataflow, Cloud Bigtable API, and Cloud Bigtable Admin API APIs.
-
In the Google Cloud console, activate Cloud Shell.
Tabelle mit aktiviertem Änderungsstream erstellen
Rufen Sie in der Google Cloud Console die Bigtable-Seite Instanzen auf.
Klicken Sie auf die ID der Instanz, die Sie für diesen Schnellstart verwenden.
Wenn keine Instanz verfügbar ist, erstellen Sie eine Instanz mit der Standardeinstellung in einer Region in Ihrer Nähe.
Klicken Sie im linken Navigationsbereich auf Sicherungen.
Klicken Sie auf Tabelle erstellen.
Nennen Sie die Tabelle
change-streams-quickstart
.Fügen Sie eine Spaltenfamilie mit dem Namen
cf
hinzu.Wählen Sie Änderungsstream aktivieren aus.
Klicken Sie auf Erstellen.
Datenpipeline initialisieren, um den Änderungsstream zu erfassen
Führen Sie in Cloud Shell die folgenden Befehle aus, um den Code herunterzuladen und auszuführen.
git clone https://github.com/GoogleCloudPlatform/java-docs-samples.git cd java-docs-samples/bigtable/beam/change-streams mvn compile exec:java -Dexec.mainClass=ChangeStreamsHelloWorld \ "-Dexec.args=--project=PROJECT_ID --bigtableProjectId=PROJECT_ID \ --bigtableInstanceId=BIGTABLE_INSTANCE_ID --bigtableTableId=change-streams-quickstart \ --runner=dataflow --region=BIGTABLE_REGION --experiments=use_runner_v2"
Ersetzen Sie Folgendes:
- PROJECT_ID: die ID des verwendeten Projekts
- BIGTABLE_INSTANCE_ID: die ID der Instanz, die die neue Tabelle enthalten soll
- BIGTABLE_REGION: Die Region, in der sich Ihre Bigtable-Instanz befindet, z. B.
us-east5
Rufen Sie in der Google Cloud Console die Seite Dataflow auf.
Klicken Sie auf den Job mit einem Namen, der mit changestreamquickstart beginnt.
Klicken Sie unten auf dem Bildschirm auf Anzeigen, um das Logfeld zu öffnen.
Klicken Sie auf Worker-Logs, um die Ausgabe des Änderungsstreams zu überwachen.
Schreiben Sie in Cloud Shell einige Daten in Bigtable, um den Änderungsstreamprozess zu sehen.
cbt -instance=BIGTABLE_INSTANCE_ID -project=PROJECT_ID \ import change-streams-quickstart quickstart-data.csv column-family=cf
Der Schweregrad muss in der Google Cloud Console mindestens auf
Info
festgelegt sein.Die Ausgabelogs der Worker-Logs enthalten Folgendes:
Change captured: user123#2023,USER,SetCell,cf,col1,abc Change captured: user546#2023,USER,SetCell,cf,col1,def Change captured: user789#2023,USER,SetCell,cf,col1,ghi
Bereinigen
Mit den folgenden Schritten vermeiden Sie, dass Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen in Rechnung gestellt werden:
Änderungsstream für die Tabelle deaktivieren
gcloud bigtable instances tables update change-streams-quickstart --instance=BIGTABLE_INSTANCE_ID \ --clear-change-stream-retention-period
Löschen Sie die Tabelle
change-streams-quickstart
:cbt -instance=BIGTABLE_INSTANCE_ID -project=PROJECT_ID deletetable change-streams-quickstart
Halten Sie die Änderungsstreampipeline an:
Rufen Sie in der Google Cloud Console die Dataflow-Seite Jobs auf.
Wählen Sie den Streaming-Job aus der Jobliste aus.
Klicken Sie im Navigationsbereich auf Beenden.
Brechen Sie die Pipeline im Dialogfeld Job anhalten ab und klicken Sie auf Job anhalten.
Optional: Löschen Sie die Instanz, wenn Sie eine neue für diese Kurzanleitung erstellt haben:
cbt deleteinstance BIGTABLE_INSTANCE_ID