Apache Beam SDK installieren oder aktualisieren

Auf dieser Seite erfahren Sie, wie Sie das Apache Beam SDK installieren oder aktualisieren, damit 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 Releaseversion des Apache Beam SDK für Java ist 2.76.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.76.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 neueste Version des Apache Beam SDK für Python. Führen Sie dazu 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.76.0. In der Releasemitteilung finden Sie Informationen zu den Änderungen, die im Release enthalten sind.

Führen Sie den folgenden Befehl aus, um die neueste 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 Google Cloud -Projekts und Ihrer Entwicklungsumgebung für die Verwendung von Dataflow finden Sie in einem der folgenden Tutorials:

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 Informationen zur Dataflow-SDK-Version wie folgt:

  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, müssen Sie die Konfigurationen der Projektabhängigkeiten aktualisieren und nach potenziellen Änderungen zwischen den Versionen suchen, die zu Problemen führen können.

Versionshinweise und funktionsgefährdende Änderungen prüfen

Lesen Sie vor dem Upgrade die Versionshinweise zu Apache Beam, um Informationen zu Änderungen, Fehlerkorrekturen und potenziellen funktionsgefährdenden Änderungen zu erhalten.

Wenn Sie ein Upgrade über mehrere Nebenversionen hinweg durchführen, lesen Sie die Versionshinweise für alle Zwischenversionen. Wenn Sie beispielsweise ein Upgrade von Version 2.50.0 auf 2.60.0 durchführen, lesen Sie die Versionshinweise für die Versionen 2.51.0 bis 2.60.0. Abwärtskompatibilität, Einstellung und Konfigurationsupdates sind releaseübergreifend kumulativ.

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 in Ihrer Pipeline verwendet wird. Ersetzen Sie VERSION durch die Apache Beam SDK-Zielversion (z. B. 2.76.0).

Java

Wenn Sie das Apache Beam SDK für Java aktualisieren möchten, aktualisieren Sie die SDK-Version in Ihrer Build-Konfigurationsdatei, z. B. pom.xml für Maven oder build.gradle für Gradle.

Maven

Aktualisieren Sie in Ihrer Datei pom.xml das Attribut beam.version oder das Tag <version> in Ihren 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 Ihrer build.gradle-Datei 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

Wenn Sie das Apache Beam SDK für Go aktualisieren möchten, verwenden Sie go get, um die Zielversion abzurufen, und aktualisieren Sie die Datei go.mod:

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 Pipelinetyp 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ätsregeln und Bereitstellungsstrategien finden Sie unter Vorhandene Pipeline aktualisieren und Streamingpipeline aktualisieren.
  • Batchpipelines: Batchpipelines unterstützen keine Aktualisierungen während der Ausführung oder Jobs, die an Ort und Stelle ersetzt werden. 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 das Aktualisieren von Deployments

So minimieren Sie das Betriebsrisiko bei der Einführung von SDK-Upgrades in automatisierten Build- und Bereitstellungspipelines:

  • Abhängigkeiten fixieren: Fixieren Sie immer genaue SDK-Versionen wie apache-beam[gcp]==VERSION in Python oder genaue Versionsstrings in Maven und Gradle. Vermeiden Sie dynamische Bereiche wie >= oder latest, um zu verhindern, dass während automatisierter CI/CD-Builds nicht getestete untergeordnete Upgrades durchgeführt werden.
  • In Staging-Umgebungen validieren: Stellen Sie die aktualisierte Pipeline in einer dedizierten Staging- oder Vorproduktionsumgebung bereit und testen Sie sie, bevor Sie die Änderungen in die Produktionsumgebung übertragen. Pipeline-Durchsatz, Stabilität von Messwerten und nachgelagerte Ausgaben validieren
  • Test- oder parallele Pipelines verwenden: Bei unternehmenskritischen Streaminganwendungen sollten Sie die aktualisierte Pipeline parallel zur vorhandenen Pipeline ausführen. Prüfen Sie, ob die Daten und die Ausgabe beider Jobs übereinstimmen, bevor Sie die ältere Pipeline leeren.

Nächste Schritte