Sobes.tech
Middle — Senior

Cos'è Apache Beam / Dataflow?

sobes.tech AI

Risposta dell'AI

Apache Beam è un modello di programmazione unificato per l'elaborazione di grandi dati, che consente di scrivere pipeline di elaborazione dati che funzionano sia in modalità batch che streaming. Astrae i dettagli dei motori di elaborazione dati specifici.

Google Cloud Dataflow è un servizio gestito che implementa il modello Apache Beam, scalando e ottimizzando automaticamente l'esecuzione delle pipeline di elaborazione dati nel cloud.

Pertanto, Apache Beam è un framework per descrivere compiti di elaborazione dati, mentre Dataflow è un servizio per eseguirli. Questo permette agli sviluppatori di scrivere un solo codice che può essere eseguito su diverse piattaforme senza modifiche.

Esempio di utilizzo di Apache Beam in Python:

import apache_beam as beam

with beam.Pipeline() as pipeline:
    (pipeline
     | 'Read' >> beam.io.ReadFromText('input.txt')
     | 'Filter' >> beam.Filter(lambda x: 'error' in x)
     | 'Write' >> beam.io.WriteToText('output.txt'))