Spark Streaming - przetwarzanie danych strumieniowych w czasie rzeczywistym

Kod: BigDataML-SparkStreaming
Kategoria: BigData, streaming i Machine Learning
Forma: 40% wykłady/60% warsztaty
Czas trwania: 2 dni
Grupa docelowa: architekci
developerzy
Zapisy: Indywidualne zamówienie i dopasowanie dla grupy.
Logistyka: W siedzibie klienta lub w innym dowolnym miejscu.

W trakcie szkolenia uczestnicy poznają podejście do przetwarzania dużej ilości danych danych w sposób streamingowy-online w czasie rzeczywistym oparte o Spark Streaming. Zadania warsztatowe pozwolą uczestnikom na stworzenie przetwarzań eventów w czasie rzeczywistym, i rozwiązanie częstych problemów które pojawiają się przy implementowaniu takich rozwiązań, takich jak m.in.: sortowanie eventów, deduplikacja, utrzymanie stanu. .

Wyróżniki szkolenia

  • Najlepsze praktyki unikania latencji 
  • Projektowanie z uwzględnieniem testowalności 
  • Heurystyki doboru rozwiązań do klasy problemu

Program Szkolenia

Program jest ramą w jakiej możemy się poruszać merytorycznie - program dla konkretnego szkolenia dedykowanego ustalamy z grupą na podstawie analizy przed-szkoleniowej.

  1. Wprowadzenie do Streamingu Danych
    1. Unbounded vs Bounded data
      1. Określenie z jakim źródłem danych mamy do czynienia
      2. Dlaczego źródła Unbounded stwarzają wiele problemów
      3. Brak możliwości cofania się w czasie do przeszłości
    2. Event Time vs Processing Time
      1. Istotność rozgraniczenia obu czasów
      2. Problem: event time może znacznie różnić się od processing time i jak sobie z tym radzić
    3. Single event processing vs micro batches
      1. Windowing - możliwości analizy okna czasowego
    4. Sortowanie danych
      1. Kiedy i dlaczego potrzebujemy sortowania
      2. Jakie latency jesteśmy w stanie tolerować za cenę sortowania i oczekiwania na okno czasowe?
      3. Kiedy i dlaczego lepiej porzucać eventy które przychodzą out-of-order
    5. Deduplikacja
      1. Jak długo w czasie oczekujemy na duplikaty?
      2. Jak implementować deduplikację
    6. Przechowywanie stanu
      1. Analiza tolerancji latencji
      2. Kiedy stosować stan in-memory a kiedy bazę danych
  2. Implementowanie przetwarzania Streamingowego przy użyciu Spark Streaming
    1. Wprowadzenie do Spark Streaming API
      1. Różnice pomiędzy steaming API a batch API
      2. Dlaczego trzeba inaczej myśleć o obu typach przetwarzań
      3. Powody dla których Spark Streaming implementuje model micro-batch?
      4. Kompatybilność z Spark Batch
    2. Odbieranie eventów z Kafka i wysyłanie rezultatu przetwarzania do Kafka Sink:
      1. Integracja jobów z Kafka:
        1. Implementacja odczytów z kafki
        2. Jak kodować i dekodować dane z formatu binarnego do obiektowy
        3. Implementacja Encoderów i Dekoderów
        4. Przygotowanie rezultatów do wysłania danych do Kafka
        5. Sposoby zabezpieczeń przed awawiami
        6. Jak i gdzie trzymac offsety topiców?
    3. Implementowanie Logiki przetwarzania eventów:
      1. Operowanie na micro-batchach
      2. Jak dbać o czas przetwarzania aby zdążyć w oknie czasowym unikając dodawania latency
      3. Boradcast - przekazywanie http klienta lub klienta do bazy danych bez tworzenia go wielokrotnie
    4. Pisanie testów dla jobów Streamingowych
      1. Jak pisać kod który będzie łatwo testowalny?
      2. Jak stworzyć poprawnie test używający SparkContext aby unikać race conditions pomiędzy testami
      3. Jak poprawnie mockować źródła danych do testu


Pobierz program w formacie PDF

Trenerzy

Poznaj ekspertów, którzy mogą poprowadzić Twoje szkolenie.

Materiały związane ze szkoleniem

Idea renesansowej pracowni - Bottegi zakłada nieustanną pracę jej członków i dzielenie się jej wynikami.

Zamów szkolenie

Imię i nazwisko:
Firma:
E-mail:
Nr tel:
Temat:
Wiadomość:

Jeżeli preferujesz osobisty kontakt to zawsze możesz zadzwonić.

Iwona Sobótka

Koordynatorka szkoleń


Wyrażam zgodę na przetwarzania danych osobowych zgodnie z ustawą o ochronie danych osobowych w związku z wysłaniem zapytania przez formularz kontaktowy.

Podanie danych jest dobrowolne ale niezbędne do przetworzenia zapytania. Zastałem/am poinformowany/na, że przysługuje mi prawo dostępu do swoich danych, możliwości ich poprawienia, żądania zaprzestania ich przetwarzania.

Administratorem danych osobowych jest Bottega IT Minds, ul. Jana Sawy 2, 20-632 Lublin.


Klauzula informacyjna