Karta Przedmiotu
| Politechnika Białostocka | Wydział Informatyki | ||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kierunek studiów | Data Science |
Poziom i forma studiów |
pierwszego stopnia stacjonarne |
||||||||||||||||||||||||
| Grupa przedmiotów / specjalność |
Profil kształcenia | ogólnoakademicki | |||||||||||||||||||||||||
| Nazwa przedmiotu | Przetwarzanie danych wielkoskalowych | E | Kod przedmiotu | DS1S6PDW | |||||||||||||||||||||||
| Rodzaj zajęć | obowiązkowy | ||||||||||||||||||||||||||
| Formy zajęć i liczba godzin | W | Ć | L | P | Ps | T | S | Semestr | 6 | ||||||||||||||||||
| 30 | 30 | Punkty ECTS | 4 | ||||||||||||||||||||||||
| Program obowiązuje od | 2025/2026 | ||||||||||||||||||||||||||
| 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 |
||||||||||||||||||||||||||
| Ramowe 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. | ||||||||||||||||||||||||||
| Inne informacje o przedmiocie | treści przedmiotu odwołują się do zasad zrównoważonego rozwoju | ||||||||||||||||||||||||||
| przedmiot ma związek z prowadzoną na Uczelni działalnością naukową | |||||||||||||||||||||||||||
| Wyliczenie: | Nakład pracy studenta związany z: | Godzin ogółem |
W tym kontaktowych |
W tym praktycznych |
|||||||||||||||||||||||
| udziałem w wykładach | 30 | 30 | |||||||||||||||||||||||||
| udziałem w innych formach zajęć | 30 | 30 | 30 | ||||||||||||||||||||||||
| indywidualnym wsparciem merytorycznym procesu uczenia się, udziałem w egzaminie i zaliczeniach organizowanych poza planem zajęć | 4 | 4 | |||||||||||||||||||||||||
| przygotowaniem do egzaminu | 10 | ||||||||||||||||||||||||||
| przygotowaniem do bieżących zajęć | 26 | 26 | |||||||||||||||||||||||||
| Razem godzin: | 100 | 64 | 56 | ||||||||||||||||||||||||
| Razem punktów ECTS: | 4 | 2.6 | 2.2 | ||||||||||||||||||||||||
| Zakładane kierunkowe efekty uczenia się | Wiedza | Umiejętności | Kompetencje społeczne |
||||||||||||||||||||||||
| DS1_W04 | DS1_U05 | DS1_K01 | |||||||||||||||||||||||||
| DS1_W05 | DS1_U07 | ||||||||||||||||||||||||||
| DS1_W06 | DS1_U08 | ||||||||||||||||||||||||||
| DS1_W07 | DS1_U09 | ||||||||||||||||||||||||||
| DS1_W09 | DS1_U15 | ||||||||||||||||||||||||||
| DS1_W11 | DS1_U16 | ||||||||||||||||||||||||||
| DS1_W15 | DS1_U18 | ||||||||||||||||||||||||||
| DS1_W19 | |||||||||||||||||||||||||||
| DS1_W20 | |||||||||||||||||||||||||||
| DS1_W21 | |||||||||||||||||||||||||||
| Cele i treści ramowe sformułował(a) | dr inż. Daniel Reska, dr inż. Paweł Tadejko | Data: | 29/05/2025 | ||||||||||||||||||||||||
| Realizacja w roku akademickim | 2027/2028 | ||||||||||||||||||||||||||
| Treści programowe | |||||||||||||||||||||||||||
| 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. | 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 | ||||||||||||||||||||||||||
| 11. | Projekt końcowy: implementacja kompleksowego systemu przetwarzania danych wielkoskalowych. | ||||||||||||||||||||||||||
| 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 (realizacja stacjonarna) |
|||||||||||||||||||||||||||
| W | wykład z prezentacją multimedialną | ||||||||||||||||||||||||||
| Ps | zadania indywidualne; zadania projektowe w grupach; dyskusja rozwiązań | ||||||||||||||||||||||||||
| Metody dydaktyczne (realizacja zdalna) |
|||||||||||||||||||||||||||
| W | wykład z prezentacją multimedialną | ||||||||||||||||||||||||||
| - | |||||||||||||||||||||||||||
| Forma zaliczenia | |||||||||||||||||||||||||||
| W | egzamin pisemny z pytaniami testowymi | ||||||||||||||||||||||||||
| Ps | realizacja zadań indywidualnych, ocena projektu realizowanego w grupach | ||||||||||||||||||||||||||
| Warunki zaliczenia | |||||||||||||||||||||||||||
| W | Uzyskanie min. 30% z każdego E1-E3, a po spełnieniu tego warunku ostateczna ocena wynika z sumy uzyskanych punktów. Kryteria oceny: [ 0 – 50]% punktów – 2.0 (50 – 60]% punktów – 3.0 (60 – 70]% punktów – 3.5 (70 – 80]% punktów – 4.0 (80 – 90]% punktów – 4.5 (90 – 100]% punktów – 5.0 |
||||||||||||||||||||||||||
| Ps | Minimalne wymagania dotyczące poszczególnych E: E4 - umiejętne korzystanie z podstawowych operacji na Spark Dataframes E5 - integracja narzędzi w celu stworzenia podstawowego potoku przetwarzania danych (np. Spark, Hive oraz Zeppelin) w ramach zadania projektowego E6 - realizacja przynajmniej jednego zadania z użyciem Spark MLlib E7 - wykonanie projektu Po spełnieniu tego warunku ostateczna ocena wynika z sumy uzyskanych punktów. Kryteria oceny: [ 0 – 50]% punktów – 2.0 (50 – 60]% punktów – 3.0 (60 – 70]% punktów – 3.5 (70 – 80]% punktów – 4.0 (80 – 90]% punktów – 4.5 (90 – 100]% punktów – 5.0 |
||||||||||||||||||||||||||
| Symbol efektu | Zakładane efekty uczenia się | Odniesienie do efektów uczenia się zdefiniowanych dla kierunku studiów | |||||||||||||||||||||||||
| Wiedza | Umiejętności | Kompetencje społeczne |
|||||||||||||||||||||||||
| Wiedza: student zna i rozumie | |||||||||||||||||||||||||||
| E1 | architektury i modele programistyczne i stosowane w systemach rozproszonej analizy danych wielkoskalowych | ||||||||||||||||||||||||||
| E2 | narzędzia oraz technologie składowania i przetwarzania stosowane w analizie Big Data | ||||||||||||||||||||||||||
| E3 | techniki analizy i optymalizacji wydajności systemów wielkoskalowych, mając w szczególności na uwadze wytyczne zasad zrównoważonego rozwoju | ||||||||||||||||||||||||||
| Umiejętności: student potrafi | |||||||||||||||||||||||||||
| E4 | korzystać z wybranych narzędzi Big Data w celu projektowania i implementacji rozwiązań z zakresu przetwarzania i analizy danych | ||||||||||||||||||||||||||
| E5 | wybierać oraz integrować systemy i narzędzia Big Data w celu opracowania architektury składowania i analizy danych wielkoskalowych | ||||||||||||||||||||||||||
| E6 | projektować, przeprowadzać i optymalizować procesy analizy danych wielkoskalowych z wykorzystaniem metod uczenia maszynowego, uwzględniając zasady zrównoważonego rozwoju | ||||||||||||||||||||||||||
| Kompetencje społeczne: student jest gotów do | |||||||||||||||||||||||||||
| E7 | projektowania skalowalnych i wydajnych systemów przetwarzania danych | ||||||||||||||||||||||||||
| Symbol efektu | Sposób weryfikacji efektu uczenia się | Forma zajęć na której zachodzi weryfikacja | |||||||||||||||||||||||||
| E1 | egzamin pisemny | W | |||||||||||||||||||||||||
| E2 | egzamin pisemny | W | |||||||||||||||||||||||||
| E3 | egzamin pisemny | W | |||||||||||||||||||||||||
| E4 | ocena wykonanych zadań, ocena projektu | Ps | |||||||||||||||||||||||||
| E5 | ocena wykonanych zadań, ocena projektu | Ps | |||||||||||||||||||||||||
| E6 | ocena wykonanych zadań, ocena projektu | Ps | |||||||||||||||||||||||||
| E7 | ocena wykonanych zadań, ocena projektu | Ps | |||||||||||||||||||||||||
| 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 | ||||||||||||||||||||||||||
| Koordynator przedmiotu: | dr inż. Jerzy Krawczuk, dr inż. Tomasz Łukaszuk, dr inż. Daniel Reska | Data: | 30/05/2025 | ||||||||||||||||||||||||