Panoramica di Dataflow

Dataflow è un servizio completamente gestito per l'esecuzione di pipeline di elaborazione dati in modalità flusso e batch. Offre il provisioning e la gestione automatizzati delle risorse di calcolo e offre un'elaborazione coerente, affidabile ed esclusiva dei dati. Dataflow supporta molti casi d'uso di trattamento dati, tra cui analisi dei flussi, AI in tempo reale, elaborazione di dati di log e sensori e altri flussi di lavoro che prevedono la trasformazione dei dati.

Crea una pipeline o utilizza un modello

Per creare una pipeline di dati per Dataflow, utilizzi Apache Beam, un modello open source unificato per la definizione di pipeline di elaborazione dati in modalità flusso e batch. Il modello di programmazione Apache Beam semplifica i meccanismi dell'elaborazione in parallelo dei dati su larga scala. Con uno degli SDK Apache Beam, crei un programma che definisce la tua pipeline. Quindi, esegui la pipeline su Dataflow.

Il modello Apache Beam fornisce astrazioni utili che nascondono i dettagli di basso livello dell'elaborazione distribuita, come il coordinamento di singoli worker e set di dati di sharding. Dataflow gestisce completamente questi dettagli di basso livello. Ciò ti consente di concentrarti sulla composizione logica del job di elaborazione dei dati, anziché sull'orchestrazione fisica dell'elaborazione parallela. Puoi concentrarti su ciò che deve fare il tuo lavoro anziché su come viene eseguito esattamente.

Se non vuoi creare la tua pipeline, puoi utilizzare uno dei modelli Dataflow forniti da Google. Questi modelli definiscono le trasformazioni comuni dei dati, ad esempio la lettura di dati in flussi da Pub/Sub e la scrittura in Cloud Storage o la lettura di dati in modalità flusso da Apache Kafka e la scrittura in BigQuery. Puoi anche creare modelli personalizzati di Dataflow per condividere le tue pipeline tra un team o un'organizzazione.

I modelli Dataflow ti consentono di pacchettizzare una pipeline Dataflow per il deployment. Chiunque abbia le autorizzazioni corrette può quindi utilizzare il modello per eseguire il deployment di una pipeline. I modelli separano la progettazione della pipeline dal deployment. Ad esempio, uno sviluppatore può creare un modello e un data scientist può eseguirne il deployment in un secondo momento, utilizzando i parametri per personalizzare il job in fase di esecuzione.

Funzionalità di Dataflow

Dataflow offre molte funzionalità per aiutarti a eseguire pipeline di dati sicure, affidabili ed economiche su larga scala. Questa sezione illustra alcune delle operazioni che puoi eseguire con Dataflow.

Scale out con scalabilità automatica orizzontale

Se è abilitata la scalabilità automatica orizzontale, Dataflow sceglie automaticamente il numero appropriato di istanze worker necessarie per eseguire il job. Dataflow potrebbe anche riassegnare dinamicamente più worker o meno worker durante il runtime per tenere conto delle caratteristiche del tuo job.

Fai lo scale up con la scalabilità automatica verticale

La scalabilità automatica verticale consente a Dataflow di fare dinamicamente lo scale up o fare lo scale down della memoria disponibile per i worker in modo da soddisfare i requisiti del job. È progettato per rendere i job resilienti agli errori di memoria insufficiente e per massimizzare l'efficienza della pipeline. Dataflow monitora la tua pipeline, rileva le situazioni in cui i worker hanno o non hanno memoria disponibile e li sostituisce con nuovi worker con più o meno memoria.

Esegui pipeline serverless

Puoi eseguire una pipeline serverless utilizzando Dataflow Prime. Dataflow Prime è una piattaforma di elaborazione dati serverless basata su Dataflow. Dataflow Prime utilizza un'architettura di calcolo separata dallo stato e include funzionalità progettate per migliorare l'efficienza e aumentare la produttività. Le pipeline che utilizzano Dataflow Prime traggono vantaggio da una gestione delle risorse automatizzata e ottimizzata, dalla riduzione dei costi operativi e dal miglioramento delle capacità di diagnostica.

Ottimizza le risorse per fase pipeline

Il controllo corretto di Dataflow Prime crea pool di risorse specifici per ogni fase, ottimizzati per ogni fase della pipeline in modo da ridurre lo spreco di risorse.

Monitora job

Utilizza l'interfaccia di monitoraggio per visualizzare e interagire con i job Dataflow. L'interfaccia di monitoraggio mostra un elenco di job Dataflow, una rappresentazione grafica di ogni pipeline, i dettagli sullo stato di ogni job, i link alle informazioni sui servizi Google Cloud che eseguono la pipeline, eventuali errori o avvisi che si verificano durante un job, nonché metriche e diagnostica aggiuntive.

Visualizza prestazioni job

Parte della scheda Dettagli esecuzione nella console Dataflow, Job Visualizer ti consente di visualizzare le metriche relative alle prestazioni di un job Dataflow e di ottimizzare le prestazioni del job individuando codice inefficiente, inclusi i colli di bottiglia relativi al parallelismo. Puoi anche visualizzare l'elenco dei passaggi associati a ogni fase della pipeline.

Separa le risorse di streaming dall'archiviazione

Streaming Engine separa il calcolo rispetto all'archiviazione dello stato per le pipeline in modalità flusso. Sposta le parti dell'esecuzione della pipeline dalle VM worker a Dataflow, migliorando notevolmente la scalabilità automatica e la latenza dei dati.

Ordina i dati in modo efficiente

Dataflow Shuffle sposta l'operazione di shuffling, utilizzata per raggruppare e unire i dati, dalle VM dei worker a Dataflow per le pipeline in modalità batch. Le pipeline in modalità batch vengono scalate senza interruzioni, senza necessità di ottimizzazione, in centinaia di terabyte.

Ridurre i costi di elaborazione batch

La pianificazione delle risorse flessibile (FlexRS) riduce i costi di elaborazione batch utilizzando tecniche di pianificazione avanzate, il servizio Dataflow Shuffle e una combinazione di istanze VM prerilasciabili e VM normali.

Esegui le pipeline dai blocchi note

Crea pipeline in modo iterativo da zero con i notebook Vertex AI ed esegui i job su Dataflow. Puoi creare passo dopo passo le pipeline di Apache Beam esaminando i grafici delle pipeline in un flusso di lavoro REPL (read-eval-print-loop). Utilizzando i blocchi note, puoi scrivere pipeline in un ambiente intuitivo con i più recenti framework di data science e machine learning.

Ricevi consigli intelligenti

Ottimizza le pipeline in base ai consigli basati sul machine learning. I suggerimenti possono aiutarti a migliorare le prestazioni delle prestazioni, ridurre i costi e risolvere gli errori.

Proteggi le pipeline con chiavi di crittografia gestite dal cliente

Una chiave di crittografia gestita dal cliente (CMEK) consente la crittografia dei dati at-rest con una chiave che puoi controllare tramite Cloud KMS. Puoi creare una pipeline in modalità flusso o batch protetta con una CMEK e accedere ai dati protetti da CMEK in origini e sink.

Specificare reti e subnet

L'integrazione di Dataflow con Controlli di servizio VPC fornisce una sicurezza aggiuntiva per il tuo ambiente di elaborazione dati, migliorando la capacità di mitigare il rischio di esfiltrazione dei dati. Puoi specificare una rete o una subnet o entrambe le opzioni quando esegui job Dataflow.

Configura IP privati

La disattivazione degli IP pubblici consente di proteggere meglio la tua infrastruttura di elaborazione dati. Se non utilizzi indirizzi IP pubblici per i worker di Dataflow, riduci anche il numero di indirizzi IP pubblici che utilizzi per la quota di progetto Google Cloud.

Inizia

Per iniziare a utilizzare Dataflow, prova una delle guide rapide: