Un job Dataflow che acquisisce file di testo compressi con gzip utilizza SideInputs per unire i dati e scrive gli errori in una coda dead-letter, ma il tempo di esecuzione del job è più lungo del previsto. Quale modifica accelera la pipeline?
Scegli una risposta
Tocca un'opzione per controllare la tua risposta.
Risposta corretta: Utilizzare CoGroupByKey invece di SideInput..
Perché questa è la risposta
L'uso di CoGroupByKey invece di SideInput può migliorare significativamente le prestazioni in Dataflow quando si uniscono grandi set di dati. SideInput materializza l'intero set di dati "side" in memoria su ogni worker, il che può essere inefficiente e lento per dati voluminosi, specialmente se i worker devono scaricare ripetutamente gli stessi dati. CoGroupByKey, invece, distribuisce i dati tra i worker e li raggruppa in modo efficiente, consentendo un'elaborazione parallela e riducendo il sovraccarico di memoria. Convertire i file in Avro compresso è utile per l'archiviazione e la lettura, ma non risolve il collo di bottiglia dell'unione. Ridurre la dimensione del batch può aumentare il sovraccarico di I/O e non è direttamente correlato all'efficienza dell'unione. Riprovare i record in errore non accelera la pipeline, ma gestisce solo gli errori.
Supera il tuo esame — senza l'infinita caccia alle risposte
Ottieni ogni domanda e spiegazione verificata per questo esame in un unico posto, e risparmia ore di preparazione. Oltre 1.000 certificazioni · Oltre 20 lingue · Inizia gratuitamente.
Supera il tuo esame più velocemente → Nessuna carta richiesta