Questa pagina mostra come installare o aggiornare l'SDK Apache Beam per eseguire le pipeline nel servizio Dataflow.
Installa l'SDK Apache Beam
L'SDK Apache Beam è un modello di programmazione open source per pipeline di dati. Definisci queste pipeline con un programma Apache Beam e puoi scegliere un runner, ad esempio Dataflow, per eseguire la pipeline.
Java
L'ultima versione rilasciata dell'SDK Apache Beam per Java è 2.76.0. Per informazioni sulle modifiche incluse nella release, consulta l' annuncio relativo alla release.
Per ottenere l'SDK Apache Beam per Java utilizzando Maven, utilizza uno degli artefatti rilasciati dal Repository Maven Central.
Aggiungi dipendenze e strumenti di gestione delle dipendenze al file
pom.xml per l'artefatto SDK. Per maggiori dettagli, vedi
Gestire le dipendenze della pipeline in Dataflow.
Per saperne di più sulle dipendenze dell'Apache Beam SDK per Java, consulta Dipendenze dell'Apache Beam SDK per Java e Gestione delle dipendenze di Beam in Java nella documentazione di Apache Beam.
Python
L'ultima versione rilasciata dell'SDK Apache Beam per Python è 2.76.0. Per informazioni sulle modifiche incluse nella release, consulta l' annuncio relativo alla release.
Per ottenere l'SDK Apache Beam per Python, utilizza uno dei pacchetti rilasciati da Python Package Index.
Installa Python wheel eseguendo questo comando:
pip install wheel
Installa l'ultima versione dell'SDK Apache Beam per Python eseguendo il comando seguente da un ambiente virtuale:
pip install 'apache-beam[gcp]'
A seconda della connessione, l'installazione potrebbe richiedere del tempo.
Vai
L'ultima versione rilasciata dell'SDK Apache Beam per Go è 2.76.0. Per informazioni sulle modifiche incluse nella release, consulta l' annuncio relativo alla release.
Per installare l'ultima versione dell'SDK Apache Beam per Go, esegui questo comando:
go get -u github.com/apache/beam/sdks/v2/go/pkg/beam
Configurazione dell'ambiente di sviluppo
Per informazioni sulla configurazione del progetto e dell'ambiente di sviluppo Google Cloud per utilizzare Dataflow, segui uno dei tutorial:
- Crea una pipeline Dataflow utilizzando Java
- Crea una pipeline Dataflow con Python
- Crea una pipeline Dataflow utilizzando Go
Codice sorgente ed esempi
Il codice sorgente di Apache Beam è disponibile nel repository Apache Beam su GitHub.
Java
Gli esempi di codice sono disponibili nella directory Examples di Apache Beam su GitHub.
Python
Gli esempi di codice sono disponibili nella directory Examples di Apache Beam su GitHub.
Vai
Gli esempi di codice sono disponibili nella directory Examples di Apache Beam su GitHub.
Trovare la versione dell'SDK Dataflow
I dettagli dell'installazione dipendono dal tuo ambiente di sviluppo. Se utilizzi Maven, puoi avere più versioni dell'SDK Dataflow "installate" in uno o più repository Maven locali.
Java
Per scoprire quale versione dell'SDK Dataflow è in esecuzione in una determinata pipeline, puoi esaminare
l'output della console quando viene eseguita con DataflowPipelineRunner o
BlockingDataflowPipelineRunner. La console conterrà un messaggio simile
al seguente, che contiene le informazioni sulla versione dell'SDK Dataflow:
Python
Per scoprire quale versione dell'SDK Dataflow è in esecuzione in una determinata pipeline, puoi esaminare
l'output della console quando esegui l'operazione con DataflowRunner. La console conterrà un messaggio simile
al seguente, che contiene le informazioni sulla versione dell'SDK Dataflow:
Vai
Per scoprire quale versione dell'SDK Dataflow è in esecuzione in una determinata pipeline, puoi esaminare
l'output della console quando esegui l'operazione con DataflowRunner. La console conterrà un messaggio simile
al seguente, che contiene le informazioni sulla versione dell'SDK Dataflow:
INFO: Executing pipeline on the Dataflow Service, ... Dataflow SDK version: <version>
Aggiorna l'SDK Apache Beam
Quando esegui l'upgrade della pipeline a una versione successiva dell'SDK Apache Beam, aggiorna le configurazioni delle dipendenze del progetto e verifica la presenza di potenziali modifiche che causano interruzioni tra le versioni.
Controlla le note di rilascio e le modifiche che provocano un errore
Prima di eseguire l'upgrade, controlla le note di rilascio di Apache Beam per modifiche, correzioni di bug e potenziali modifiche che provocano un errore.
Se esegui l'upgrade su più versioni secondarie, consulta le note di rilascio di
tutte le release intermedie. Ad esempio, se esegui l'upgrade dalla versione
2.50.0 alla 2.60.0, consulta le note di rilascio per le versioni da 2.51.0 a
2.60.0. Le modifiche che causano interruzioni, le deprecazioni e gli aggiornamenti della configurazione sono
cumulativi nelle release.
Per problemi noti e avvisi specifici del connettore che interessano Dataflow, consulta la colonna Dettagli nella tabella Stato del supporto della versione dell'SDK.
Aggiorna le dipendenze dell'SDK
Per eseguire l'upgrade della versione dell'SDK nel tuo progetto, aggiorna la configurazione di compilazione o
l'ambiente per il linguaggio utilizzato dalla pipeline. Sostituisci
VERSION con la versione dell'SDK Apache Beam di destinazione
(ad esempio, 2.76.0).
Java
Per eseguire l'upgrade dell'Apache Beam SDK per Java, aggiorna la versione dell'SDK nel file di configurazione della build, ad esempio pom.xml per Maven o build.gradle per Gradle.
Maven
Nel file pom.xml, aggiorna la proprietà beam.version
o il tag <version> nelle dipendenze
di Apache Beam:
<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
Nel file build.gradle, aggiorna le dichiarazioni di dipendenza di Apache Beam:
dependencies { implementation 'org.apache.beam:beam-sdks-java-core:VERSION' implementation 'org.apache.beam:beam-runners-google-cloud-dataflow-java:VERSION' }
Per saperne di più, consulta Gestire le dipendenze della pipeline Java.
Python
Per eseguire l'upgrade dell'SDK Apache Beam per Python nel tuo ambiente locale o virtuale, utilizza pip:
pip install --upgrade 'apache-beam[gcp]==VERSION'
Nel file requirements.txt o setup.py, aggiorna
la versione bloccata:
apache-beam[gcp]==VERSION
Vai
Per eseguire l'upgrade dell'Apache Beam SDK per Go, utilizza go get per
recuperare la versione di destinazione e aggiornare il file go.mod:
go get -u github.com/apache/beam/sdks/v2@vVERSION go mod tidy
Per saperne di più, consulta Gestire le dipendenze della pipeline Go.
Esegui il deployment delle pipeline di cui è stato eseguito l'upgrade
Dopo aver aggiornato la versione dell'SDK nel codice, scegli una strategia di deployment in base al tipo di pipeline:
- Pipeline di streaming: per le pipeline di streaming, puoi eseguire il deployment del codice aggiornato utilizzando la sostituzione del job in loco, l'esecuzione di pipeline parallele o l'arresto e il riavvio del job. Per istruzioni dettagliate, regole di compatibilità e strategie di deployment, vedi Aggiornare una pipeline esistente e Eseguire l'upgrade di una pipeline di streaming.
- Pipeline batch: le pipeline batch non supportano gli aggiornamenti in volo o i job di sostituzione in loco. Lascia che il job esistente venga eseguito fino al completamento oppure annulla il job in esecuzione e poi avvia un nuovo job con la versione aggiornata dell'SDK.
Best practice per CI/CD e aggiornamento dei deployment
Per ridurre al minimo il rischio operativo durante l'implementazione degli upgrade dell'SDK nelle pipeline di build e deployment automatiche, segui queste best practice:
- Blocca le dipendenze: blocca sempre le versioni esatte dell'SDK, ad esempio
apache-beam[gcp]==VERSIONin Python o le stringhe di versione esatte in Maven e Gradle. Evita intervalli dinamici (ad esempio>=olatest) per impedire che si verifichino upgrade secondari non testati durante le build CI/CD automatizzate. - Esegui la convalida negli ambienti di staging: esegui il deployment e testa la pipeline aggiornata in un ambiente di staging o pre-produzione dedicato prima di promuovere le modifiche in produzione. Convalida il throughput della pipeline, la stabilità delle metriche e gli output downstream.
- Utilizza pipeline di test o parallele: per le applicazioni di streaming mission-critical, esegui la pipeline aggiornata in parallelo con quella esistente. Verifica la parità dei dati e la correttezza dell'output tra i due job prima di svuotare la pipeline precedente.
Passaggi successivi
- Dataflow si integra con Google Cloud CLI. Per istruzioni sull'installazione dell'interfaccia a riga di comando Dataflow, vedi Utilizzo dell'interfaccia a riga di comando Dataflow.
- Per scoprire quali funzionalità di Apache Beam supporta Dataflow, consulta la matrice delle funzionalità di Apache Beam.
- Consulta lo stato del supporto delle versioni dell'SDK per visualizzare le release dell'SDK supportate, deprecate e ritirate.