Dataflow Prime è una piattaforma serverless di elaborazione di pipeline di Apache Beam. Basato su Dataflow, Dataflow Prime utilizza un'architettura di computing separata da stato. Nei seguenti casi, Dataflow Prime potrebbe migliorare l'efficienza della pipeline:
- La tua pipeline potrebbe trarre vantaggio dalla scalabilità automatica verticale.
Dataflow Prime supporta pipeline sia in batch che in flussi. Per impostazione predefinita, Dataflow Prime utilizza Dataflow Shuffle e Dataflow Runner V2 per le pipeline in modalità batch.
Supporto della versione dell'SDK
Dataflow Prime supporta i seguenti SDK Apache Beam:
SDK Apache Beam per Python versione 2.21.0 o successive
SDK Apache Beam Java versione 2.30.0 o successive
Apache Beam Go SDK versione 2.44.0 o successiva
Per scaricare il pacchetto SDK o leggere le Note di rilascio, vedi Download di Apache Beam.
Funzionalità di Dataflow Prime
Di seguito è riportato l'elenco di funzionalità di Dataflow Prime supportate per diversi tipi di pipeline:
- Scalabilità automatica verticale (memoria). Supporta pipeline di flusso in Python, Java e Go.
- Adattamento ottimale (suggerimenti delle risorse). Supporta pipeline batch in Python e Java.
- Job Visualizer. Supporta pipeline batch in Python e Java.
- Consigli intelligenti. Supporta pipeline di flusso e batch in Python e Java.
- Pipeline di dati. Supporta pipeline di flusso e batch in Python e Java.
Funzionalità di visualizzazione di job, suggerimenti intelligenti e pipeline di dati sono supportati anche per job non Dataflow Prime.
Scalabilità automatica verticale
Questa funzione regola automaticamente la memoria disponibile VM worker Dataflow per soddisfare le esigenze della pipeline per evitare errori di esaurimento della memoria. In Dataflow Prime, verticale La scalabilità automatica funziona insieme alla scalabilità automatica orizzontale per scalare le risorse in modo dinamico.
Per ulteriori informazioni, consulta Scalabilità automatica verticale.
Adattabilità
Questa funzionalità utilizza suggerimenti delle risorse, una funzionalità di Apache Beam. Utilizzando gli hint delle risorse, puoi e specificare i requisiti delle risorse per l'intera pipeline passaggi specifici della pipeline. Questa funzionalità ti consente di creare worker personalizzati passaggi diversi di una pipeline. L'opzione adatta ti consente di specificare la pipeline per massimizzare l'efficienza, ridurre i costi operativi ed evitare errori di memoria e altri errori delle risorse. Supporta memoria e GPU gli hint delle risorse.
La vestibilità perfetta richiede Apache Beam 2.30.0 o in un secondo momento.
Per ulteriori informazioni, consulta la sezione Adattabilità corretta.
Visualizzatore job
Questa funzionalità consente di vedere le prestazioni di un job Dataflow e ottimizzare le prestazioni del job individuando codice inefficiente, tra cui colli di bottiglia nel parallelizzazione. Nella console Google Cloud, puoi fare clic su in qualsiasi job Dataflow nella pagina Job per visualizzare i relativi dettagli. Puoi anche visualizzare l'elenco dei passaggi associati a ogni fase della pipeline.
Per ulteriori informazioni, consulta Dettagli esecuzione.
Consigli intelligenti
Questa funzionalità consente di ottimizzare e risolvere i problemi della pipeline in base ai suggerimenti forniti Scheda Diagnostica della pagina dei dettagli del job. Nella console Google Cloud, puoi fare clic su in qualsiasi job Dataflow nella pagina Job per visualizzare i relativi dettagli.
Per ulteriori informazioni, consulta la sezione Consigli e diagnostica.
Pipeline di dati
Questa funzionalità consente di pianificare job, osservare l'utilizzo delle risorse monitorare gli obiettivi di aggiornamento dei dati per i flussi di dati e ottimizzare le pipeline.
Per saperne di più, consulta Utilizzo delle pipeline di dati.
Requisiti di quota e limite
Le quote e i limiti sono gli stessi per Dataflow e Dataflow Prime. Per saperne di più, consulta Quote e limiti.
Se scegli le pipeline di dati, sono disponibili anche implicazioni per quote e regioni.
Funzionalità non supportate
Dataflow Prime non supporta quanto segue:
Designazione di tipi di VM specifici utilizzando il flag
--worker_machine_type
o--machine_type
per le pipeline Python e--workerMachineType
per le pipeline Java.Visualizzazione o utilizzo di SSH per accedere alle VM worker.
Le classi
MapState
eOrderedListState
per le pipeline Java.Utilizzo di Controlli di servizio VPC con Scalabilità automatica verticale. Se abiliti Dataflow Prime e avvia un nuovo job all'interno di un perimetro dei Controlli di servizio VPC, il job utilizza Dataflow Prime senza scalabilità automatica verticale.
Tutte le opzioni della pipeline non in modo esplicito menzionate in precedenza o nella tabella di confronto delle funzionalità la stessa cosa per Dataflow e Dataflow Prime.
Prima di utilizzare Dataflow Prime
Per utilizzare Dataflow Prime, puoi riutilizzare il codice della pipeline esistente e abilitare l'opzione Dataflow Prime tramite in Cloud Shell o in modo programmatico.
Dataflow Prime è compatibile con le versioni precedenti dei job batch che utilizzano Dataflow Shuffle e job di flussi di dati che utilizzano Streaming Engine. Tuttavia, ti consigliamo di testare le pipeline con Dataflow Prime prima di utilizzarli in un ambiente di produzione.
Se la pipeline in modalità flusso è in esecuzione in produzione, per utilizzare Dataflow Prime, segui questi passaggi:
Arresta la pipeline.
Attiva Dataflow Prime.
Esegui di nuovo la pipeline.
Abilita Dataflow Prime
Per abilitare Dataflow Prime per una pipeline:
Abilita l'API Cloud Scalabilità automatica.
Dataflow Prime utilizza l'API Cloud Scalabilità automatica per regolare in modo dinamico la memoria.
Abilita Prime nelle opzioni della pipeline.
Puoi impostare le opzioni della pipeline in modo programmatico o utilizzando la riga di comando. Per le versioni dell'SDK Apache Beam supportate, abilita il seguente flag:
Java
--dataflowServiceOptions=enable_prime
Python
SDK Apache Beam per Python versione 2.29.0 o successiva:
--dataflow_service_options=enable_prime
Apache Beam Python SDK versione 2.21.0 to 2.28.0:
--experiments=enable_prime
Vai
--dataflow_service_options=enable_prime
Usa Dataflow Prime con i modelli
Se utilizzi i modelli Dataflow, puoi scegliere di abilita Dataflow Prime in uno dei seguenti modi:
Per i job avviati dalla pagina Crea job da modello:
Vai alla pagina Crea job da modello.
Nel campo Esperimento aggiuntivo, inserisci
enable_prime
.
Per i job avviati da un modello tramite l'interfaccia a riga di comando, passa il flag
--additional-experiments=enable_prime
.Per abilitare Dataflow Prime quando crei un modello, imposta il flag
--experiments=enable_prime
.
Usa Dataflow Prime nei blocchi note Apache Beam
Se utilizzi un
blocco note Apache Beam,
puoi abilitare Dataflow Prime
in modo programmatico
utilizzando PipelineOptions
:
options = pipeline_options.PipelineOptions(
flags=[],
dataflow_service_options=['enable_prime'],
)
Per saperne di più sull'impostazione delle opzioni di Dataflow in un blocco note, consulta Avvia i job Dataflow da una pipeline creata nel blocco note.
Confronto delle funzionalità tra Dataflow e Dataflow Prime
La tabella seguente mette a confronto le funzionalità disponibili per entrambe le varianti di Dataflow.
Funzionalità | Dataflow Prime | Dataflow |
---|---|---|
Corsa V2 | Caratteristica predefinita senza opzione per disattivare per i job batch e facoltativa per i job in modalità flusso | Caratteristica predefinita con un'opzione per disattivare per i job batch e facoltativa per i job in modalità flusso |
Dataflow Shuffle per job batch | Funzionalità predefinita con un'opzione per la disattivazione | Funzionalità predefinita con un'opzione per la disattivazione |
Streaming Engine per i job di flussi di dati | Funzionalità facoltativa per le pipeline Java e sempre attiva per le pipeline Python | Funzionalità facoltativa per le pipeline Java e sempre attiva per le pipeline Python dalla versione 2.45.0 |
Scalabilità automatica orizzontale | Funzionalità predefinita con opzione di disattivazione | Funzionalità predefinita con opzione di disattivazione |
Scalabilità automatica verticale | Funzionalità predefinita con opzione di disattivazione | Non applicabile |
Aderenza perfetta | Funzionalità facoltativa | Funzionalità facoltativa |
Fatturazione | Fatturazione serverless | Fatturazione standard |
Passaggi successivi
- Scopri di più sulle quote di Dataflow.
- Scopri come impostare le opzioni della pipeline.
- Vedi le opzioni pipeline disponibili per le pipeline Java e Python.
- Scopri di più sulle funzionalità di ottimizzazione automatica per Dataflow Prime.
- Scopri di più sulle GPU Dataflow.