Przetwarzanie danych Big Data z wykorzystaniem Apache Spark

Kod: BigDataML-BigData
Kategoria: BigData, streaming i Machine Learning
Forma: 40% wykłady 60% ćwiczenia
Czas trwania: 2 dni
Grupa docelowa:
Logistyka: W siedzibie klienta lub w innym dowolnym miejscu.
Data i dokładny zakres do ustalenia podczas analizy przed-szkoleniowej.

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. Zobaczymy jak wygląda Spark API i będziemy pisać Spark Joby ilustrując typowe jak i specyficzne problemy.

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 Apache Spark
    1. Architektura Apache Spark
      1. Czym różni się executor od driver
      2. Kiedy wykorzystywać executor a kiedy driverach
      3. Konfiguracja ilości pamięci ram i liczby executorów
      4. Jak dobrać odpowiednie parametry zależnie od ilości wejściowych danych
    2. 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. Jak i kiedy używać cache() i persist()
    3. Shuffling - Przesyłanie danych między maszynami
      1. Które transformacje wymagają shufflingu (wide i narrow dependencies)
      2. Przewaga transformacji operujące na parach i metody typu reduceByKey() na PariRDD nad metodami typu reduce i operacjach na pojedynczych elementach
    4. Partitioning Data
      1. Typy
        1. HashPartitioner
        2. RangePartitioner
        3. najlepsze praktyki wyboru
      2. Kiedy warto wykonać metodę repartition() a kiedy coalesce()
      3. Zasady dzielenia wyników na partycje - zapis w hdfs
    5. Joining
      1. Typy joinów
      2. Stosowalność
      3. Wykorzystanie Join aby zminimalizować przesyłanie danych pomiędzy maszynami (reduce shuffling)
    6. GroupBy
      1. Kiedy używać (w ostateczności)
      2. Kiedy wystarczy reduce na wyższym poziomie
      3. Jak tworzyć przetwarzanie aby unikać groupBy
      4. Alternatywy: CombineByKey
    7. Spark API
      1. DataFrame
      2. DataSet
      3. RDD
  2. Pisanie przetwarzania BIG DATA używając APACHE SPARK
    1. Tworzenie projektu który używa Apache Spark:
      1. Jak skonfigurować skrypt uruchomieniowy joba
      2. Jak pisać kod jobów aby był łatwo testowalny
    2. Spark Context jako wejście do joba
      1. Jak uzyskać sparkContextu
      2. Jak stworzyć HiveContext (SQlContext) gdy pobieramy dane z SQL
      3. Zasada jednego SparkContext
    3. Możliwości pobierania danych przez Spark (baza danych, hdfs, avro, text file, csv, json …)
      1. Tworzenie loadera do ustrukturyzowanych danych avro
      2. Tworzenie loadera do nieustrukturyzowanych danych csv
      3. Wczytywanie danych z hdfs
    4. Implementowanie logiki w paradygmacie Map/Reduce
      1. Wykonywanie kodu przez driver vs executor
      2. Operowanie na RDD i pairRDD
    5. Testowanie Spark jobów
      1. Jak tworzyć poprawnie test używający SparkContext aby unikać race conditions pomiędzy testami
      2. 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.

Zapytaj o 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