Auf dieser Seite erfahren Sie, wie Sie das Apache Beam SDK installieren oder aktualisieren, so dass Sie Ihre Pipelines im Dataflow-Dienst ausführen können.
Apache Beam SDK installieren
Das Apache Beam SDK ist ein Open-Source-Programmiermodell für Datenpipelines. Sie definieren diese Pipelines mit einem Apache Beam-Programm und können einen Runner wie Dataflow zum Ausführen Ihrer Pipeline auswählen.
Java
Die neueste freigegebene Version des Apache Beam SDK für Java ist 2.77.0. In der Releasemitteilung finden Sie Informationen zu den Änderungen, die im Release enthalten sind.
Verwenden Sie eines der freigegebenen Artefakte aus dem Maven Central Repository, damit Sie das Apache Beam SDK für Java über Maven abrufen können.
Fügen Sie der Datei
pom.xml für das SDK-Artefakt Abhängigkeiten und Tools zur Abhängigkeitsverwaltung hinzu. Weitere Informationen finden Sie unter Pipelineabhängigkeiten in Dataflow verwalten.
Weitere Informationen zum Apache Beam SDK für Java-Abhängigkeiten finden Sie unter Apache Beam SDK für Java-Abhängigkeiten und Beam-Abhängigkeiten in Java verwalten in der Apache Beam-Dokumentation.
Python
Die neueste Releaseversion des Apache Beam SDK für Python ist 2.77.0. In der Releasemitteilung finden Sie Informationen zu den Änderungen, die im Release enthalten sind.
Verwenden Sie zum Abrufen des Apache Beam SDKs für Python eines der freigegebenen Pakete aus dem Python-Paketindex.
Führen Sie den folgenden Befehl aus, um das Python-Rad zu installieren:
pip install wheel
Installieren Sie die aktuelle Version des Apache Beam SDKs für Python. Führen Sie hierzu den folgenden Befehl in einer virtuellen Umgebung aus:
pip install 'apache-beam[gcp]'
Je nach Verbindung kann die Installation einige Zeit in Anspruch nehmen.
Go
Die neueste Releaseversion des Apache Beam SDK für Go ist 2.77.0. In der Releasemitteilung finden Sie Informationen zu den Änderungen, die im Release enthalten sind.
Führen Sie den folgenden Befehl aus, um die aktuelle Version des Apache Beam SDK für Go zu installieren:
go get -u github.com/apache/beam/sdks/v2/go/pkg/beam
Entwicklungsumgebung einrichten
Informationen zur Einrichtung Ihres Projekts und Ihrer Entwicklungsumgebung für die Verwendung von Google Cloud Dataflow finden Sie in einem der folgenden Tutorials:
- Dataflow-Pipeline mit Java erstellen
- Dataflow-Pipeline mit Python erstellen
- Dataflow-Pipeline mit Go erstellen
Quellcode und Beispiele
Der Apache Beam-Quellcode ist im Apache Beam-Repository auf GitHub verfügbar.
Java
Codebeispiele sind im Apache Beam Beispiel-Repository auf GitHub verfügbar.
Python
Codebeispiele sind im Apache Beam Beispiel-Repository auf GitHub verfügbar.
Go
Codebeispiele sind im Apache Beam Beispiel-Repository auf GitHub verfügbar.
Dataflow SDK-Version ermitteln
Die Einzelheiten der Installation hängen von Ihrer Entwicklungsumgebung ab. Wenn Sie Maven nutzen, können mehrere Versionen des Dataflow SDK in einem oder mehreren lokalen Maven-Repositories "installiert" sein.
Java
Wenn Sie herausfinden möchten, welche Version des Dataflow SDK eine bestimmte Pipeline ausführt, können Sie bei der Ausführung mit DataflowPipelineRunner oder BlockingDataflowPipelineRunner die Konsolenausgabe ansehen. Die Konsole liefert so Informationen zur Dataflow-SDK-Version:
Python
Wenn Sie herausfinden möchten, welche Version des Dataflow SDK eine bestimmte Pipeline ausführt, können Sie bei der Ausführung mit DataflowRunner die Konsolenausgabe ansehen. Die Konsole liefert so Informationen zur Dataflow-SDK-Version:
Go
Wenn Sie herausfinden möchten, welche Version des Dataflow SDK eine bestimmte Pipeline ausführt, können Sie bei der Ausführung mit DataflowRunner die Konsolenausgabe ansehen. Die Konsole liefert etwa folgende Informationen zur Dataflow SDK-Version:
INFO: Executing pipeline on the Dataflow Service, ... Dataflow SDK version: <version>
Apache Beam SDK aktualisieren
Wenn Sie Ihre Pipeline auf eine neuere Apache Beam SDK-Version aktualisieren, aktualisieren Sie die Konfigurationen der Projektabhängigkeiten und prüfen Sie, ob es zwischen den Versionen potenzielle funktionsgefährdende Änderungen gibt.
Versionshinweise und funktionsgefährdende Änderungen prüfen
Prüfen Sie vor dem Upgrade die Apache Beam-Versionshinweise auf Änderungen, Fehlerkorrekturen und potenzielle funktionsgefährdende Änderungen.
Wenn Sie ein Upgrade über mehrere Nebenversionen hinweg ausführen, lesen Sie die Versionshinweise für alle Zwischenversionen. Wenn Sie beispielsweise ein Upgrade von Version 2.50.0 auf 2.60.0 ausführen, lesen Sie die Versionshinweise für die Versionen 2.51.0 bis 2.60.0. Funktionsgefährdende Änderungen, Einstellungen und Konfigurationsupdates sind kumulativ über alle Releases hinweg.
Bekannte Probleme und connectorspezifische Hinweise, die sich auf Dataflow auswirken, finden Sie in der Spalte Details in der Tabelle Supportstatus für SDK-Versionen.
SDK-Abhängigkeiten aktualisieren
Wenn Sie die SDK-Version in Ihrem Projekt aktualisieren möchten, aktualisieren Sie die Build-Konfiguration oder die Umgebung für die Sprache, die Ihre Pipeline verwendet. Ersetzen Sie VERSION durch die Zielversion des Apache Beam SDK (z. B. 2.76.0).
Java
Wenn Sie das Apache Beam SDK für Java aktualisieren möchten, aktualisieren Sie die SDK-Version in der
Build-Konfigurationsdatei, z. B. pom.xml für Maven oder
build.gradle für Gradle.
Maven
Aktualisieren Sie in der Datei pom.xml die Eigenschaft beam.version
oder das Tag <version> in den
Apache Beam-Abhängigkeiten:
<properties> <beam.version>VERSION</beam.version> </properties> <dependencies> <dependency> <groupId>org.apache.beam</groupId> <artifactId>beam-sdks-java-core</artifactId> <version>${beam.version}</version> </dependency> <dependency> <groupId>org.apache.beam</groupId> <artifactId>beam-runners-google-cloud-dataflow-java</artifactId> <version>${beam.version}</version> </dependency> </dependencies>
Gradle
Aktualisieren Sie in der Datei build.gradle die Deklarationen der Apache Beam
-Abhängigkeiten:
dependencies { implementation 'org.apache.beam:beam-sdks-java-core:VERSION' implementation 'org.apache.beam:beam-runners-google-cloud-dataflow-java:VERSION' }
Weitere Informationen finden Sie unter Java-Pipelineabhängigkeiten verwalten.
Python
Verwenden Sie pip, um das Apache Beam SDK für Python in Ihrer lokalen oder virtuellen
Umgebung zu aktualisieren:
pip install --upgrade 'apache-beam[gcp]==VERSION'
Aktualisieren Sie in der Datei requirements.txt oder setup.py die angepinnte Version:
apache-beam[gcp]==VERSION
Go
Verwenden Sie go get, um die Zielversion abzurufen und die Datei go.mod zu aktualisieren, um das Apache Beam SDK für Go zu aktualisieren:
go get -u github.com/apache/beam/sdks/v2@vVERSION go mod tidy
Weitere Informationen finden Sie unter Go-Pipelineabhängigkeiten verwalten.
Aktualisierte Pipelines bereitstellen
Nachdem Sie die SDK-Version in Ihrem Code aktualisiert haben, wählen Sie eine Bereitstellungsstrategie basierend auf Ihrem Pipeline-Typ aus:
- Streamingpipelines: Bei Streamingpipelines können Sie aktualisierten Code bereitstellen, indem Sie den Job direkt ersetzen, parallele Pipelines ausführen oder den Job beenden und neu starten. Eine detaillierte Anleitung, Kompatibilitäts regeln und Bereitstellungsstrategien finden Sie unter Vorhandene Pipeline aktualisieren und Streamingpipeline aktualisieren.
- Batchpipelines: Batchpipelines unterstützen keine Aktualisierungen während der Ausführung oder das direkte Ersetzen von Jobs. Lassen Sie den vorhandenen Job bis zum Abschluss laufen oder brechen Sie den laufenden Job ab, und starten Sie dann einen neuen Job mit der aktualisierten SDK-Version.
Best Practices für CI/CD und Aktualisieren von Bereitstellungen
Halten Sie sich an diese Best Practices, um das Betriebsrisiko bei der Einführung von SDK-Upgrades in automatisierten Build- und Bereitstellungspipelines zu minimieren:
- Abhängigkeiten anpinnen: Pinnen Sie immer genaue SDK-Versionen an, z. B.
apache-beam[gcp]==VERSIONin Python oder genaue Versionsstrings in Maven und Gradle. Vermeiden Sie dynamische Bereiche (z. B.>=oderlatest), um zu verhindern, dass während automatisierter CI/CD-Builds nicht getestete Nebenversions-Upgrades ausgeführt werden. - In Staging-Umgebungen validieren: Stellen Sie Ihre aktualisierte Pipeline in einer dedizierten Staging- oder Vorproduktionsumgebung bereit und testen Sie sie, bevor Sie die Änderungen in der Produktion einführen. Prüfen Sie den Pipeline-Durchsatz, die Stabilität der Messwerte und die nachgelagerten Ausgaben.
- Test- oder parallele Pipelines verwenden: Führen Sie für geschäftskritische Streaming anwendungen die aktualisierte Pipeline parallel zur vorhandenen Pipeline aus. Prüfen Sie die Datenparität und die Korrektheit der Ausgabe zwischen beiden Jobs, bevor Sie die ältere Pipeline beenden.
Nächste Schritte
- Dataflow lässt sich in das Google Cloud CLI einbinden. Eine Anleitung zum Installieren der Dataflow-Befehlszeile finden Sie unter Dataflow-Befehlszeile verwenden.
- Informationen dazu, welche Apache Beam-Funktionen Dataflow unterstützt, finden Sie in der Apache Beam-Funktionsmatrix.
- Auf der Seite Supportstatus für SDK-Versionen finden Sie Informationen zu unterstützten, eingestellten und außer Betrieb genommenen SDK-Releases.