Przetwarzanie danych Big Data z wykorzystaniem Apache Spark

Tytuł: Przetwarzanie danych Big Data z wykorzystaniem Apache Spark
Kod: BigDataML-BigData
Kategoria: BigData, streaming, Machine Learning i AI
Forma: 40% wykłady 60% ćwiczenia
Czas trwania: 2-3 dni
Zapisy: Indywidualne zamówienie i dopasowanie dla grupy.
Logistyka: W siedzibie klienta lub w innym dowolnym miejscu.

W trakcie szkolenia nauczymy się jak używać Apache Spark framework do szybkiego przetwarzania dużych ilości danych.

Kurs obejmuje wprowadzenie do architektury Apache Spark. Szkolenie może zostać przeprowadzone w języku Scala lub Python. Warsztaty obejmują kompleksowy proces tworzenie aplikacji Sparkowej - integrację ze źródłem, przetwarzanie danych, optymalizację procesu i zapis do bazy danych w środowisku Cloudowym.

Zobaczymy jak wygląda Spark API i będziemy pisać Spark Joby ilustrujące typowe jak i specyficzne problemy. Omówimy optymalizacje, najczęściej spotykane wyzwania i sposoby na ich pokonanie. Szkolenia skupia się głównie na części praktycznej

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 przetwarzania danych z wykorzystaniem Apache Spark.
    1. Geneza - najważniejsze zmiany, co nowego w obecnej wersji Apache Sparka, integracja z Cloudem/Hadoopem
    2. Wprowadzenie do API
      1. RDD / Dataset / Dataframe
      2. Główne cechy i różnice i porównanie wydajności
      3. Rekomendacje i tips&tricks
    3. Lazy Evaluation - Transformations and Actions
      1. Jak zbudowany jest graf wykonywania transformacji
      2. Kiedy graf wykonywania jest wykorzystywany
      3. Jak re-używać wcześniej stworzone RDD z wcześniej wykonanymi transformacjami
    4. Shuffling - Przesyłanie danych między maszynami
      1. Które transformacje wymagają shufflingu (wide i narrow)
      2. Koncept ReduceByKey i GroupByKey
      3. Jak zminimalizować wpływ na wydajność aplikacji
    5. Data Partitioning
      1. Kiedy warto wykonać metodę repartition() a kiedy coalesce()
      2. Zasady dzielenia wyników na partycje
      3. Ilość/rozmiar partycji a wydajność przetwarzania
    6. Podstawowa konfiguracja projektu bazującego na Apache Spark:
      1. Jak skonfigurować skrypt uruchomieniowy joba
      2. Jak pisać kod jobów aby był łatwo testowalny
    7. Możliwości integracji Sparka z obecnymi rozwiązaniami (baza danych, hdfs, avro, text file, csv, json …)
  2. Architektura, integracja, najczęstsze problemy i optymalizacja aplikacji bazujących na Apache Spark
    1. Architektura
      1. Spark Driver, Worker i Executor
      2. Job vs Stage vs Task
      3. Jednostki przetwarzania i danych
      4. Możliwości deploymentu
    2. Testowanie Spark jobów
    3. Joiny
      1. Fizyczne typy joinów
      2. Best practices
      3. Wykorzystanie Join aby zminimalizować przesyłanie danych pomiędzy maszynami (reduce shuffling)
    4. UDF - jak je konstruować i jaki mają wpływ na wydajność. Różnice między Dataframe i Dataset.
    5. Optymalizacje jobów sparkowych i typowe problemy
      1. Key-skew
      2. OOM
      3. Broadcast
      4. Cache
      5. Serialization
      6. Jak dobierać rozmiar executorów
    6. Interpretacja i optymalizacja planów zapytań
      1. Poruszanie się po Spark UI
      2. Jak sprawdzać ii na co zwrócić szczególną uwagę
    7. Spark Catalyst i Tungsten


Pobierz program w formacie PDF

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ń


Twoje dane osobowe przetwarzamy, aby udzielić odpowiedzi na Twoje pytanie. Administratorem Twoich danych osobowych jest Bottega It Minds Sławomir Sobótka. Przysługuje Ci prawo wniesienia sprzeciwu wobec przetwarzania, prawo dostępu do danych, prawo żądania ich sprostowania, usunięcia lub ograniczenia ich przetwarzania. Szczegółowe informacje dotyczące przetwarzania Twoich danych osobowych znajdują się TUTAJ.