Udostępnij za pośrednictwem


Podstawy Strukturalnego Przesyłania Strumieniowego

Strukturalne przesyłanie strumieniowe Apache Spark to silnik przetwarzania danych w trybie niemal rzeczywistym, który oferuje pełną odporność na awarie z gwarancją dokładnie jednokrotnego przetwarzania, przy użyciu znanych interfejsów API platformy Spark. Ustrukturyzowane przesyłanie strumieniowe pozwala na wyrażenie obliczeń dla danych przesyłanych strumieniowo tak samo jak wyrażenie obliczeń wsadowych dla danych statycznych. Silnik strukturalnego przesyłania strumieniowego wykonuje obliczenia przyrostowo i stale aktualizuje wynik w miarę napływu danych przesyłanych strumieniowo.

Aby zapoznać się z samouczkiem krok po kroku, zobacz Uruchamianie pierwszego obciążenia Structured Streaming.

Odczytywanie ze strumienia danych

Użyj przesyłania strumieniowego ze strukturą, aby przyrostowo pozyskiwać dane z obsługiwanych źródeł danych.

Funkcja Opis
Moduł automatycznego ładowania Przyrostowe i wydajne przetwarzanie nowych plików danych w miarę ich przybycia do magazynu w chmurze.
Strumieniowy odczyt i zapis tabeli Delta Użyj tabel Delta Lake jako źródeł i mierników przesyłania strumieniowego z gwarancjami przetwarzania dokładnie jeden raz.
Łączniki standardowe Nawiąż połączenie z magistralami komunikatów, kolejkami i aplikacjami dla przedsiębiorstw przy użyciu łączników standardowych.
Rozmiar mikropartii Ogranicz współczynniki danych wejściowych, aby zachować spójne rozmiary partii i zapobiec opóźnieniom przetwarzania.

Zapisywanie do zatoki danych

Konfigurowanie sposobu przesyłania danych za pomocą strukturalnego przesyłania strumieniowego do systemów docelowych.

Funkcja Opis
Punktów kontrolnych Przechowywanie stanu przetwarzania w celu zapewnienia odporności na uszkodzenia i semantyki dostarczania dokładnie raz.
Tryb wyjściowy Wybierz spośród trybów dołączania, aktualizowania i kompletnego dla stanowych zapytań przesyłanych strumieniowo.
Interwały wyzwalaczy Ustaw interwały wyzwalaczy, aby równoważyć opóźnienia i koszty dla wymagań dotyczących przetwarzania.
Tryb czasu rzeczywistego w Structured Streaming Przetwarzaj dane dla obciążeń w czasie rzeczywistym z opóźnieniem między końcami wynoszącym zaledwie pięć milisekund.

Przetwarzanie stanowe i bezstanowe

Zapytania bezstanowe przetwarzają wiersze bez zachowywania stanu. Zapytania stanowe obsługują stan pośredni na potrzeby agregacji, sprzężeń i deduplikacji.

Funkcja Opis
Bezstanowe zapytania streamingowe Optymalizowanie zapytań, które przetwarzają dane bez zachowania stanu pośredniego.
Znaki wodne Określ, jak długo ustrukturyzowane przesyłanie strumieniowe czeka na opóźnione dane w operacjach stanowych.
Stanowe przesyłanie strumieniowe Zarządzanie agregacjami, łączeniami strumień-strumień oraz deduplikacją przy użyciu operatorów stanowych.

Monitorowanie i zarządzanie

Śledzenie wydajności zapytań, stosowanie optymalizacji i zarządzanie dostępem do danych dla produkcyjnych obciążeń przesyłania strumieniowego ze strukturą.

Funkcja Opis
Monitorowanie za pomocą obiektu StreamingQueryListener Śledzenie postępu zapytań i metryk wydajności przy użyciu interfejsu użytkownika platformy Spark i interfejsu API odbiornika.
Zarządzanie z Unity Catalog Skonfiguruj Unity Catalog na potrzeby obciążeń przesyłania strumieniowego, wykorzystując zarządzanie i kontrolę dostępu.