Projektowanie platformy Big Data z użyciem narzędzi z rodziny Apache
Czas trwania szkolenia:3 dni (24h)
Kod kursu:BIGDATA/APACHE
Poziom zaawansowania:
O szkoleniu Projektowanie platformy Big Data z użyciem narzędzi z rodziny Apache
W cenie otrzymasz:
- Materiały szkoleniowe
- Certyfikat ukończenia szkolenia
- W przypadku szkolenia w trybie stacjonarnym zapewnimy Ci również lunch oraz sprzęt niezbędny do nauki
Wymagania
- Praktyczna wiedza z programowania obiektowego w języku Java
- Silnie rekomendowane jest posiadanie wiedzy i umiejętności z zagadnień ujętych w ramach szkolenia *Big Data i platforma Hadoop - wprowadzenie*
Zalety
- Warsztatowy charakter zajęć
- Użycie wielu różnych narzędzi niezbędnych w codziennej pracy z Big Data
- Ćwiczenia praktyczne odbywają się w środowisku chmury obliczeniowej (Google Cloud Platform)
- Praktyka przed teorią - wszystkie szkolenia technologiczne prowadzone są w formie warsztatowej. Konieczna teoria jest uzupełniana praktycznymi zadaniami
- Konkretne umiejętności - w ramach każdego szkolenia rozwijamy praktyczne umiejętności związane z daną technologią i tematyką
Cele szkolenia
- Praktyczna umiejętność projektowania platformy do przetwarzania dużej ilości danych
- Zdobycie wiedzy na temat powszechnie używanych narzędzi typu open-source w Big Data
Program
Wprowadzenie do świata Big Data
- Przedstawienie domeny
- Problemy Big Data - wydajność, skalowalność, dostępność
- Przegląd typów przetwarzania Big Data
- Omówienie narzędzi wykorzystywanych w ramach kursu
Programowanie w Scala
- Zalety programowania funkcyjnego
- Różnice w stosunku do języka Java
- Elementy języka wykorzystywane w kontekście Big Data
- Ćwiczenia praktyczne (case class, companion object, pattern matching, implicit)
Apache Spark
- Architektura i konfiguracja
- RDD vs Spark SQL
- Transformacje i akcje
- Tworzenie aplikacji w środowisku IDE
- Uruchamianie zadań
- Koncepcje partycjonowania i przesyłania (shuffling) danych
- Catalyst i mechanizmy optymalizacji
- Integracja z Apache Hadoop
Apache Spark Structured Streaming
- Podstawy i zastosowanie Spark Structured Streaming
- Model przetwarzania
- Projektowanie aplikacji przetwarzającej strumienie danych
- Znaczniki czasowe i operatory okna
- Obsługa zdarzeń nieuporządkowanych
Apache NiFi
- Automatyzacja pobierania danych z różnych źródeł
- Architektura
- Przykładowe zastosowania
- Integracja danych między MySQL i GCS
- Przykłady transformacji danych
- Partycjonowanie danych przy zapisie
Apache Kafka
- Architektura
- Porównanie z podobnymi narzędziami
- Pub/Sub vs Producer/Consumer
- Tworzenie i konfiguracja producenta oraz konsumenta
- Tematy i partycjonowanie
- Konsumenci i grupy konsumentów
- Replikacje i retencja
- ZooKeeper
Apache Druid
- Opis i architektura
- Struktura danych
- Zarządzanie komponentami
- Indeksacja danych
- Druid i platformy Big Data oparte na Apache Hadoop
- Przetwarzanie real-time i batch
Apache Airflow
- Automatyzacja przetwarzania
- Tworzenie data pipeline
- Python vs Bash
- Definiowanie Acyklicznych Grafów Skierowanych Przetwarzania (DAG)
- Architektura