In questo primo articolo esploreremo Apache Beam, da una pipeline semplice a una più complicata, utilizzando GCP Dataflow. Impariamo cosa PTransform
, PCollection
, GroupByKey
e il modello Dataflow Flex significano
Senza alcun dubbio, l’elaborazione dei dati, la creazione di funzionalità, lo spostamento dei dati e l’esecuzione di tutte queste operazioni in un ambiente sicuro, con stabilità e in modo computazionalmente efficiente, sono estremamente rilevanti per tutte le attività di intelligenza artificiale al giorno d’oggi. In passato, Google ha iniziato a sviluppare un progetto open source per avviare entrambi dosaggio E streaming operazioni di trattamento dei dati, denominate Beam. Successivamente, Apache Software Foundation ha iniziato a contribuire a questo progetto, portando su larga scala Apache Beam.
La chiave rilevante di Apache Beam è la sua flessibilità, che lo rende uno dei migliori SDK di programmazione per la creazione di pipeline di elaborazione dati. Riconoscerei 4 concetti principali in Apache Beam, che lo rendono uno strumento di dati inestimabile:
- Modello unificato per l’elaborazione batch/streaming: Beam è un modello di programmazione unificato, ovvero con lo stesso codice Beam si può decidere se elaborare i dati in modalità batch o streaming, e la pipeline può essere utilizzata come modello per altre nuove unità di elaborazione. Beam può acquisire automaticamente un flusso continuo di dati o eseguire operazioni specifiche su un determinato batch di dati.
- Elaborazione parallela: il core di elaborazione dati efficiente e scalabile inizia dalla parallelizzazione dell’esecuzione delle pipeline di elaborazione dati, che distribuiscono il carico di lavoro su più “lavoratori”: un lavoratore può essere inteso come un nodo. Il concetto chiave per l’esecuzione parallela si chiama “
ParDo
trasformazione”, che prende una funzione che elabora i singoli elementi e la applica contemporaneamente a più lavoratori. Il bello di questa implementazione è che non devi preoccuparti di come dividere i dati o creare caricatori batch. Apache Beam farà tutto per te. - Pipeline di dati: dati i due aspetti di cui sopra, una pipeline di dati può essere facilmente creata in poche righe di codice, dall’acquisizione dei dati al…
Fonte: towardsdatascience.com