Przetwarzanie danych Big Data z Apache Spark - techniki zaawansowane i optymalizacja

Najbliższe terminy tego szkolenia
Standardy JSystems
- Wszyscy nasi trenerzy muszą być praktykami i osiągać średnią z ankiet minimum 4.75 na 5. Nie ma wśród nas trenerów-teoretyków. Każdy trener JSystems ma bogate doświadczenie komercyjne w zakresie tematów z których prowadzi szkolenia.
- Wszystkie szkolenia mają format warszatowy. Każde zagadnienie teoretyczne jest poparte rzędem warsztatów w ściśle określonym formacie.
- Terminy gwarantowane na 100%. Jeśli jakiś termin jest oznaczony jako gwarantowany, oznacza to że odbędzie się nawet jeśli część grupy wycofa się z udziału. Ryzyko ponosimy my jako organizator.
- Do każdego szkolenia które wymaga jakiegokolwiek oprogramowania dostarczamy skonfigurowane, gotowe hosty w chmurze. Dzięki temu uczestnik nie musi nic instalować na swoim komputerze (i bić się z blokadami korporacyjnymi). Połączenie następuje przez zdalny pulpit lub SSH - w zależności od szkolenia.
Program szkolenia
Dzień 1 Struktura kodu, internale
-
Wprowadzenie do notebooków
- Przedstawienie kodu i założeń jakie program musi wykonać
-
Omówienie jak Spark planuje wykonanie kodu
-
Driver i Executory
- Omówienie pracy poszczególnych komponentów
-
Diagram DAG
- Przedstawienie poszczególnych elementów składowych: Job, Stage, Task
- Analiza pierwotnej egzekucji z SparkUI
-
Akcje i Transformacje
- Optymalizacja planu wykonania kodu w Apache Spark
- Omówienie jak działa partycjonowanie danych w Sparku
- Warsztat
-
Driver i Executory
Dzień 2: Optymalizacja kodu
-
Usprawnianie Joinów
- Rodzaje joinów
- Problem data skewness (niesymetryczność danych)
- Optymalizacja
-
Omówienie jak działa cache, persist oraz checkpoint w Sparku
- Scenariusze kiedy warto zastosować przedstawione techniki
-
Optymalizacja pracy klastra
- Wybór odpowiedniego typu klastra
- Dobieranie właściwej instancji workerów i drivera
- Warsztat
- Porównanie rezultatów przed vs po optymalizacji
Opis szkolenia
Szkolenie odbywa się na żywo z udziałem trenera. Nie jest to forma kursu video!
O szkoleniu w skrócie
Szkolenie poświęcone jest Apache Spark - nowoczesnemu narzędziu do przetwarzania danych, wykorzystywanym przez czołowe firmy z Doliny Krzemowej. Szkolenie odbędzie się w oparciu o platformę Databricks, a jego głównym celem jest optymalizacja czasu wykonywania kodu, przy zachowaniu optymalnego kosztu korzystania z narzędzia. To dwudniowe szkolenie skupia się na przedstawieniu szeregu technik pozwalających zapewnić optymalne procesowania danych, przy jednoczesnym zachowaniu wysokiej czystości kodu.
Cel szkolenia
Praca z systemem Spark oraz platformą Databricks. Opanowanie praktycznych umiejętności niezbędnych do skutecznej realizacji projektów danowych w nowoczesnym środowisku, które kształtuje współczesne standardy w obszarze Big Data. Szkolenie uzupełnia wiedzę z zawartą w "Szkolenie Podstawowe Spark" kładąc nacisk na metody optymalizacji wydajności w procesowaniu danych.
Dla kogo przeznaczone jest szkolenie?
- Inżynierów Danych , którzy chcą pogłębić swoją wiedzę o Apache Spark, ze szczególnym naciskiem na optymalizację kodu
- Specjalistów Data Science , pragnących lepiej zrozumieć Apache Spark i nauczyć się samodzielnie optymalizować kod w celu zwiększenia wydajności swoich projektów
Gdzie użyjesz nabytej wiedzy?
- W codziennej pracy z Platformą Databricks oraz Sparkiem
- W projektach wymagających elastycznego podejścia pod kątem wykorzystywanych zasobów
- Przy budowaniu systemów analitycznych dla firmy
Czego się nauczysz?
- Optymalizacji kosztów i wydajności w chmurze - dzięki umiejętności efektywnego zarządzania zasobami Spark na platformie Databricks
- Optymalizacji egzekucji kodu - co pozwoli widocznie skrócić potrzebny do wykonania procesowania danych
- Efektywnego debugowania kodu - co pozwoli na ograniczenie błędów oraz ułatwi wprowadzenie nowej funkcjonalności
- Odnajdowania "wąskich gardeł" w procesie - na przykładach pokażę Ci jak odnajdywać operacje, które ograniczają zdolność i przepustowość całego programu
Wymagania co do uczestnika
- Podstawowa znajomość Sparka/Databricks; idealnie - uczestnictwo w poprzednim szkoleniu "Szkolenie Podstawowe Spark"
- Znajomość SQL
- Podstawowa znajomość Pythona
- Podstawowa znajomość Git
- Założenie konta na GitHub
- Podstawowa znajomość technologii chmurowych nie jest obowiązkowa, ale przydatna
Terminy i definicje
System Rozproszony
System rozproszony to zbiór niezależnych komputerów lub urządzeń, które współpracują ze sobą poprzez sieć komputerową, tworząc logiczną całość. Każdy węzeł w systemie może działać niezależnie, ale wszystkie razem realizują wspólne cele.
Spark
Apache Spark to potężne, masowo skalowalne środowisko do przetwarzania danych, które umożliwia efektywne przetwarzanie dużych zbiorów danych w pamięci oraz na dysku. Jest podstawowym komponentem platformy Databricks.
Databricks
Databricks to platforma do zarządzania danymi, która łączy zalety systemów data lake i data warehouse. Wykorzystuje Apache Spark jako silnik przetwarzania i zapewnia scentralizowane środowisko do analizy danych, uczenia maszynowego i biznesowych zastosowań analitycznych.
Data Lake (jezioro danych)
Data Lake to centralne repozytorium danych przechowujące duże ilości danych w ich pierwotnej, surowej formie. W przeciwieństwie do tradycyjnych hurtowni danych, które wymagają uprzedniej strukturyzacji danych, data lake może przechowywać dane w dowolnym formacie, w tym: strukturyzowane, półstrukturyzowane i niestrukturyzowane.
DAG (Directed Acyclic Graph)
W Spark to podstawowa koncepcja reprezentująca plan wykonania zadania. Jest to graf operacji które, są wykonywane w określonej kolejności, jednocześnie nie zawiera cykli ani pętli w planie wykonania.W Apache Spark DAG składa się z zestawu Jobów, Stagów oraz Tasków.
Prowadzący szkolenie:
Dawid Grześków
Specjalista IT z pięcioletnim doświadczeniem w środowisku danowym. W swojej karierze przeszedłem przez budowanie narzędzi wewnętrznych, analitykę oraz tworzenie systemów raportowych. Aktualnie pracuje jako Inżynier Danych, gdzie Spark i Databricks stanowią moje główne narzędzia pracy.
Na co dzień pracuje z technologiami chmurowymi na platformie Azure. Programuje w Pythonie, SQL oraz Sparku. Tworzę modele, hurtownie oraz jeziora danych. Integruję rozwiązania DevOps z procesami biznesowymi. Tworzę zaplecza całych platform i rozwijam procesy integracyjne.
Projekty w których brałem udział to m.in.:
- Integracja przepływów danych wspierających mi.n. SAPa, procesy korporacyjne
- Budowanie jezior danych w celu scentralizowania zasobów przedsiębiorstwa
- Budowanie modeli analitycznych, które dotychczas były niemożliwe do zrealizowania bez Sparka.
- Wdrażanie rozwiązań DevOps/DataOps
Posiadam doświadczenie pracy w międzynarodowych firmach, gdzie wspierałem zespoły w przyswajaniu wiedzy procesowej oraz narzędziowej. Jako praktyk, wychodzę z założenia, że tylko praktyczne szkolenia dają satysfakcjonujące efekty.
Z takim założeniem stworzyłem również poniższy kurs.
Stanowisko robocze

Do tego szkolenia każdy uczestnik otrzymuje dostęp do indywidualnej wirtualnej maszyny w chmurze. Ma ona zainstalowane i skonfigurowane wszystko co potrzebne do realizacji szkolenia. Maszyna będzie dostępna przez cały okres szkolenia.
Gdy na jakiś termin zgłosi się minimalna liczba osób, termin oznaczamy jako gwarantowany.
Jeśli jakiś termin oznaczony jest jako gwarantowany to oznacza to, że na 100% się odbędzie we wskazanym czasie i miejscu.
Nawet gdyby część takiej grupy zrezygnowała lub przeniosła się na inny termin, raz ustalony termin gwarantowany takim pozostaje.
Ewentualne ryzyko ponosimy my jako organizator.
Przejdź do terminów tego szkolenia

Sprawdź, co mówią o nas ci, którzy nam zaufali
Trenerzy kategorii Big Data


Jestem programistą z 12-sto letnim doświadczeniem, związanym głównie z ekosystemem Javy, ale również Pythonem, bazami danych, zagadnienami DevOps (Docker, Kubernetes, CI/CD pipelines) i frameworkami JavaScriptowymi. Moja ścieżka kariery prowadziła mnie przez różne branże – od telekomunikacyjnej, przez medyczną, bankową, do giełdy energii – dzięki czemu mogłem poznać wiele technologii i ich zastosowań w poszczególnych obszarach. Od kilku lat zaangażowany jestem w prowadzenie szkoleń i warsztatów, bo wierzę, że najlepszym sposobem na naukę jest przekazywanie wiedzy innym.


Specjalista IT z pięcioletnim doświadczeniem w środowisku danowym. W swojej karierze przeszedłem przez budowanie narzędzi wewnętrznych, analitykę oraz tworzenie systemów raportowych. Aktualnie pracuje jako Inżynier Danych, gdzie Spark i Databricks stanowią moje główne narzędzia pracy.
Na co dzień pracuje z technologiami chmurowymi na platformie Azure. Programuje w Pythonie, SQL oraz Sparku. Tworzę modele, hurtownie oraz jeziora danych. Integruję rozwiązania DevOps z procesami biznesowymi. Tworzę zaplecza całych platform i rozwijam procesy integracyjne.
Projekty w których brałem udział to m.in.:
- Integracja przepływów danych wspierających mi.n. SAPa, procesy korporacyjne
- Budowanie jezior danych w celu scentralizowania zasobów przedsiębiorstwa
- Budowanie modeli analitycznych, które dotychczas były niemożliwe do zrealizowania bez Sparka.
- Wdrażanie rozwiązań DevOps/DataOps
Posiadam doświadczenie pracy w międzynarodowych firmach, gdzie wspierałem zespoły w przyswajaniu wiedzy procesowej oraz narzędziowej. Jako praktyk, wychodzę z założenia, że tylko praktyczne szkolenia dają satysfakcjonujące efekty.