Podstawy Strukturalnego Przesyłania Strumieniowego

Apache Spark Structured Streaming pozwala budować aplikacje streamingowe i potoki z tymi samymi API Spark, których używasz do przetwarzania wsadowego. Usługa Azure Databricks obsługuje dwa tryby przetwarzania:

  • Tryb czasu rzeczywistego (RTM): Zaprojektowany dla obciążeń operacyjnych z czasem odpowiedzi poniżej sekundy, takich jak wykrywanie oszustw czy personalizacja w czasie rzeczywistym. RTM przetwarza rekordy w momencie ich pojawienia się, z opóźnieniem end-to-end już od pięciu milisekund. Zobacz koncepcje trybu czasu rzeczywistego.
  • Tryb mikro wsadowy: Zaprojektowany do potoków analitycznych oraz obciążeń wyodrębniania, przekształcania i ładowania (ETL). Tryb mikropartii przetwarza strumienie w małych partiach, równoważąc koszty obliczeniowe z wymaganiami opóźnieniowymi mierzonymi w sekundach lub minutach. Domyślnym trybem jest przetwarzanie mikrowsadowe.

Oba tryby korzystają z tych samych API Structured Streaming. W przypadku zapytań obsługiwanych przez oba tryby możesz przełączać tryby w konfiguracji triggera i compute. Zobacz Konfigurowanie trybu w czasie rzeczywistym.

Structured Streaming również obsługuje przetwarzanie strumieniowe w potokach Lakeflow, zbudowanych na Apache Spark™ Declarative Pipelines. Potoki danych zarządzają orkiestracją, punktami kontrolnymi i odzyskiwaniem, a transformacje definiujesz w SQL lub Python.

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.
Odczyty i zapisy przesyłane strumieniowo w tabeli usługi Delta Lake Użyj tabel Delta Lake jako źródeł i mierników przesyłania strumieniowego z gwarancjami przetwarzania dokładnie jeden raz.
API SQL i Spark Połącz się z magistralami wiadomości, kolejkami i aplikacjami korporacyjnymi za pomocą API SQL i Spark.
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.