Szkolenie: Projektowanie platformy Big Data z użyciem narzędzi z rodziny Apache
Szkolenie obejmujące podstawy projektowania i tworzenia platform Big Data przy pomocy narzędzi Apache (Kafka, Spark, NiFi, Druid, Airflow)
- Trenerzy praktycy
- Kameralne grupy
Czas trwania szkolenia:3 dni (24h)
Kod kursu:BIGDATA/APACHE
Projektowanie platformy Big Data z użyciem narzędzi z rodziny Apache
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
Dla kogo?
Programiści chcący poznać podstawy Big Data
Osoby które chciałby rozszerzyć swoją więdzę na temat narzędzi Big Data
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ą
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
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
Program szkolenia
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