Zadanie Dataflow, które pobiera skompresowane pliki tekstowe (gzipped text files), używa SideInputs do łączenia danych i zapisuje błędy do kolejki martwych wiadomości (dead-letter queue), ale czas działania zadania jest dłuższy niż oczekiwano. Jaka zmiana przyspieszy potok?
Wybierz odpowiedź
Dotknij opcji, aby sprawdzić swoją odpowiedź.
Poprawna odpowiedź: Użyj CoGroupByKey zamiast SideInput..
Dlaczego to jest odpowiedź
Użycie CoGroupByKey zamiast SideInput przyspieszy potok, ponieważ SideInput materializuje całą kolekcję danych w pamięci na każdym workerze, co jest nieefektywne dla dużych zbiorów danych i może prowadzić do nadmiernego zużycia pamięci oraz spowolnienia. CoGroupByKey natomiast przetwarza dane w rozproszony sposób, grupując elementy z wielu PCollection po kluczu, co jest znacznie bardziej skalowalne i wydajne dla dużych zbiorów danych. Zmiana plików wejściowych na skompresowane Avro nie rozwiąże problemu wydajności samego przetwarzania danych, choć może poprawić wydajność odczytu. Zmniejszenie rozmiaru partii może spowolnić potok, a ponawianie prób przetwarzania błędów nie wpłynie na ogólną wydajność przetwarzania poprawnych danych.
Zdaj egzamin — bez niekończącego się szukania odpowiedzi
Uzyskaj wszystkie zweryfikowane pytania i wyjaśnienia do tego egzaminu w jednym miejscu i zaoszczędź godziny przygotowań. Ponad 1000 certyfikacji · Ponad 20 języków · Zacznij za darmo.
Zdaj egzamin szybciej → Karta nie jest wymagana