Potok danych strumieniowych używa okien przeskakujących (hopping windows), ale niektóre późno docierające dane nie są traktowane jako spóźnione, co powoduje nieprawidłowe agregacje. Jak przechwycić spóźnione dane do właściwego okna?
Wybierz odpowiedź
Dotknij opcji, aby sprawdzić swoją odpowiedź.
Poprawna odpowiedź: Użyj znaków wodnych (watermarks), aby zdefiniować oczekiwane okno nadejścia danych. Zezwól na późne dane, gdy tylko nadejdą..
Dlaczego to jest odpowiedź
Prawidłowa odpowiedź to użycie znaków wodnych (watermarks) i zezwolenie na późne dane. Znaki wodne w systemach przetwarzania strumieniowego (np. Apache Beam/Dataflow) służą do określenia, kiedy system uważa, że wszystkie dane dla danego okna czasowego zostały już przetworzone. Umożliwiają one systemowi śledzenie postępu danych opartych na czasie zdarzenia. Gdy dane docierają po znaku wodnym, są traktowane jako późne. Aby uwzględnić te późne dane w prawidłowym oknie, należy skonfigurować opcję zezwalania na późne dane (allowed lateness). Dzięki temu system może ponownie przetworzyć lub zaktualizować wyniki dla danego okna, gdy późne dane nadejdą. Zmiana na okna kroczące (tumbling windows) lub okna sesyjne (session windows) nie rozwiązuje problemu późnych danych, ponieważ te typy okien również wymagają mechanizmu obsługi opóźnień. Rozszerzenie okna przeskakującego (hopping window) może zmniejszyć częstotliwość występowania późnych danych, ale nie eliminuje problemu, a jedynie opóźnia jego wystąpienie i zwiększa opóźnienie przetwarzania.
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