Wydział Informatyki
Kierunek studiów Data Science Poziom i forma studiów pierwszego stopnia inżynierskie stacjonarne
Specjalność / Ścieżka dyplomowania --- Profil kształcenia ogólnoakademicki
Nazwa przedmiotu Przetwarzanie danych wielkoskalowych Kod przedmiotu DS1S6PDW
Rodzaj przedmiotu obowiązkowy
Forma zajęć i liczba godzin W Ć L P Ps T S Semestr 6
30 30 Punkty ECTS 4
Przedmioty wprowadzające Język programowania - obieralny (-),   MLOps w technologiach AI (DS1S3MLO),   Obliczenia równoległe (DS1S5OBR),  
Cele przedmiotu

Przekazanie wiedzy z zakresu architektur i technologii przetwarzania danych w systemach rozproszonych i wielkoskalowych (Big Data).
Rozwój praktycznych umiejętności korzystania z systemów i narzędzi Big Data, ze szczególnym uwzględnieniem potrzeb uczenia maszynowego.

Odniesienia do frameworka edukacyjnego mikrokompetencji SFIA
- Data engineering (DENG) – poziom 3: projektowanie i implementacja złożonych rozwiązań przetwarzania danych
- Solution architecture (ARCH) – poziom 4: umiejętność integracji narzędzi Big Data w celu opracowania architektury systemu przetwarzania danych
- Machine learning MLNG – poziom 3: analiza danych wielkoskalowych przy użyciu metod ML

Treści programowe

Wprowadzenie do systemów rozproszonych i Big Data. Przetwarzanie dużych zbiorów danych w sposób skalowalny i energooszczędny, z uwzględnieniem wpływu na środowisko oraz zasad zrównoważonego rozwoju. Modele rozproszonej analizy i składowania danych. Narzędzia ekosystemu Big Data. Przetwarzanie wsadowe i strumieniowe. Wielkoskalowe hurtownie danych. Uczenie maszynowe w kontekście danych wielkoskalowych. Zastosowania narzędzi Big Data w praktycznych problemach. Analiza danych przy użyciu wybranych narzędzi z ekosystemu Big Data. Optymalizacja składowania danych i wykonywania analiz. Kwestie jakości i bezpieczeństwa danych. Integracja różnych narzędzi w ramach kompleksowego procesu przetwarzania i analizy danych.

Wykład:
1. Wprowadzenie do systemów rozproszonych. Rozproszone architektury i modele obliczeniowe.
2. Wprowadzenie do Big Data. Historia, specyfika i problemy w analizie dużych zbiorów danych. Wyzwania V's (Volume, Velocity, Variety, Veracity, Value). Przegląd głównych elementów ekosystemu Big Data.
3. Rozproszone systemy plików. HDFS, S3 i alternatywne rozwiązania. Strategie partycjonowania i replikacji danych. Optymalizacja dostępu do danych, także w kontekście zapotrzebowania na zasoby, w nawiązaniu do zasad zrównoważonego rozwoju.
4. Modele obliczeniowe oraz metody przetwarzania i analizy Big Data: model MapReduce, przetwarzania danych w pamięci (Apache Spark).
5. Podstawy Apache Spark. RDD, DataFrames i Datasets.
6. Podstawy Apache Spark. Spark SQL. Optymalizacja zapytań w Spark. Optymalizacja zapytań w kontekście zapotrzebowania na zasoby infrastruktury ICT, w nawiązaniu do zasad zrównoważonego rozwoju.
7. Składowanie danych wielkoskalowych. Hurtownie danych wielkoskalowych (Apache Hive).
8. Składowanie danych wielkoskalowych. Koncepcja Data Lake. Formaty danych (Parquet, ORC, Iceberg). Optymalizacja składowania danych i wykonywania zapytań, także w kontekście zapotrzebowania na zasoby, w nawiązaniu do zasad zrównoważonego rozwoju.
9. SQL-On-Hadoop, NoSQL i NewSQL. Bazy kolumnowe, dokumentowe i grafowe. Wybór odpowiedniej technologii dla różnych przypadków użycia.
10. Przetwarzanie strumieniowe. Apache Kafka i Spark Streaming. Analiza i składowanie danych strumieniowych.
11. Przetwarzanie strumieniowe. Apache Kafka i Spark Streaming. Analiza i składowanie danych strumieniowych.
12. Wybrane biblioteki i narzędzia uczenia maszynowego Big Data. Narzędzia do interaktywnej analizy danych.
13. Prezentacja praktycznych przykładów zastosowania poznanych narzędzi w analizie dużych zbiorów danych.
14. Prezentacja praktycznych przykładów zastosowania poznanych narzędzi w analizie dużych zbiorów danych.
15. Zaliczenie wykładu.


Pracownia specjalistyczna:
1. Zajęcia organizacyjne. Wstęp do pracy z klastrem i narzędziami w pracowni.
2. Zapoznanie z narzędziami Apache Hadoop i Apache Spark: konfiguracja środowiska; implementacja podstawowych operacji.
3. Analiza danych w Apache Spark: operacje MapReduce RDD, DataFrames, Spark SQL.
4. Analiza danych w Apache Spark: operacje MapReduce RDD, DataFrames, Spark SQL.
5. Analiza danych w Apache Spark: praca z klastrem, analiza wydajności i optymalizacja zadań. Uwzględnienie w analizie zapotrzebowania na zasoby, w nawiązaniu do zasad zrównoważonego rozwoju.
6. Wielkoskalowe uczenie maszynowe z wykorzystaniem Spark MLlib i Apache Zeppelin.
7. Wielkoskalowe uczenie maszynowe z wykorzystaniem Spark MLlib i Apache Zeppelin.
8. Wielkoskalowe uczenie maszynowe z wykorzystaniem Spark MLlib i Apache Zeppelin.
9. Przetwarzanie strumieniowe. Spark Streaming: implementacja pipeline'ów strumieniowych.
10-11. Przetwarzanie strumieniowe. Spark Streaming: integracja z Apache Kafka, przetwarzanie w czasie rzeczywistym. Uwzględnienie w implementacji wymagań dot. zasobów, w nawiązaniu do zasad zrównoważonego rozwoju
12. Projekt końcowy: implementacja kompleksowego systemu przetwarzania danych wielkoskalowych.
13. Projekt końcowy: implementacja kompleksowego systemu przetwarzania danych wielkoskalowych.
14. Projekt końcowy: implementacja kompleksowego systemu przetwarzania danych wielkoskalowych.
15. Wystawianie ocen

Metody dydaktyczne

dyskusja rozwiązań,   praca w grupach,   metoda projektów,   ćwiczenia laboratoryjne,   wykład z prezentacją multimedialną,  

Forma zaliczenia

Wykład: egzamin pisemny z pytaniami testowymi
Pracownia specjalistyczna: realizacja zadań indywidualnych, ocena projektu realizowanego w grupach

Symbol efektu uczenia się Zakładane efekty uczenia się Odniesienie do kierunkowych efektów uczenia się
EU1 architektury i modele programistyczne i stosowane w systemach rozproszonej analizy danych wielkoskalowych DS1_W04
DS1_W07
DS1_W11
EU2 narzędzia oraz technologie składowania i przetwarzania stosowane w analizie Big Data DS1_W06
DS1_W09
DS1_W15
DS1_W21
EU3 techniki analizy i optymalizacji wydajności systemów wielkoskalowych, mając w szczególności na uwadze wytyczne zasad zrównoważonego rozwoju DS1_W05
DS1_W06
DS1_W15
DS1_W19
DS1_W20
DS1_W21
EU4 korzystać z wybranych narzędzi Big Data w celu projektowania i implementacji rozwiązań z zakresu przetwarzania i analizy danych DS1_U05
DS1_U16
EU5 wybierać oraz integrować systemy i narzędzia Big Data w celu opracowania architektury składowania i analizy danych wielkoskalowych DS1_U15
DS1_U16
DS1_U18
EU6 projektować, przeprowadzać i optymalizować procesy analizy danych wielkoskalowych z wykorzystaniem metod uczenia maszynowego, uwzględniając zasady zrównoważonego rozwoju DS1_U07
DS1_U08
DS1_U09
DS1_U15
DS1_U16
EU7 projektowania skalowalnych i wydajnych systemów przetwarzania danych DS1_K01
Symbol efektu uczenia się Sposób weryfikacji efektu uczenia się Forma zajęć na której zachodzi weryfikacja
EU1 egzamin pisemny W
EU2 egzamin pisemny W
EU3 egzamin pisemny W
EU4 ocena wykonanych zadań, ocena projektu Ps
EU5 ocena wykonanych zadań, ocena projektu Ps
EU6 ocena wykonanych zadań, ocena projektu Ps
EU7 ocena wykonanych zadań, ocena projektu Ps
Bilans nakładu pracy studenta (w godzinach) Liczba godz.
Wyliczenie
1 - udziałem w wykładach 30
2 - udziałem w innych formach zajęć 30
3 - indywidualnym wsparciem merytorycznym procesu uczenia się, udziałem w egzaminie i zaliczeniach organizowanych poza planem zajęć 4
4 - przygotowaniem do egzaminu 10
5 - przygotowaniem do bieżących zajęć 26
RAZEM: 100
Wskaźniki ilościowe GODZINY ECTS
Nakład pracy studenta związany z zajęciami wymagającymi bezpośredniego udziału nauczyciela 64
(1)+(2)+(3)
2.6
Nakład pracy studenta związany z zajęciami o charakterze praktycznym 56
(2)+(5)
2.2
Literatura podstawowa

1. J. S. Damji, B. Wenig, T. Das, D. Lee, Spark. Błyskawiczna analiza danych., Helion, Gliwice, 2023
2. Dokumentacja Apache Spark: https://spark.apache.org/docs/latest/
3. T. White , Hadoop: kompletny przewodnik: analiza i przechowywanie danych, Helion, Gliwice, 2016
4. D. Stephenson, Big Data, nauka o danych i AI bez tajemnic: podejmuj lepsze decyzje i rozwijaj swój biznes!, Helion, Gliwice, 2020
5. M. van Steen, A. S.Tanenbaum, Distributed Systems, 4th ed., Darmowa wersja cyfrowa: distributed-systems.net, 2023

Literatura uzupełniająca

1. H. Karau , A. Konwinski, P. Wendell, M. Zaharia, Poznajemy Sparka, PWN, Warszawa, 2016
2. A. Chodkowska-Gyurics, Hurtownie danych: teoria i praktyka, Wydawnictwo Naukowe PWN, Warszawa, 2017
3. Harrison G., NoSQL, NewSQL i BigData. Bazy danych następnej generacji, Helion, Gliwice, 2019
4. A. DeBarros, SQL w praktyce: jak dzięki danym uzyskiwać cenne informacje, Helion, Gliwice, 2024

Jednostka realizująca Wydział Informatyki Data opracowania programu
Program opracował(a) dr inż. Jerzy Krawczuk,dr inż. Daniel Reska,dr inż. Tomasz Łukaszuk 2025.05.30