- Nazwa przedmiotu:
- Techniki i technologie Big Data
- Koordynator przedmiotu:
- Rajmund Kożuszek
- Status przedmiotu:
- Fakultatywny dowolnego wyboru
- Poziom kształcenia:
- Studia II stopnia
- Program:
- Informatyka
- Grupa przedmiotów:
- Przedmioty techniczne - zaawansowane
- Kod przedmiotu:
- TBD
- Semestr nominalny:
- 3 / rok ak. 2021/2022
- Liczba punktów ECTS:
- 4
- Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
- 1. liczba godzin kontaktowych – 47 godz.,w tym:
a. obecność na wykładach: 30 godz.,
b. udział w konsultacjach związanych z treścią wykładu: 2 godz.,
c. udział w spotkaniach projektowych: 15 godz.,
2. praca własna studenta – 59 godz., w tym:
a. przygotowanie do wykładów (przejrzenie materiałów z wykładu i dodatkowej literatury, próba rozwiązania ćwiczeń domowych sformułowanych na wykładzie): 7 godz.,
b. realizacja projektu: 8 godz. (zapoznanie się z literaturą i oprogramowaniem) + 32 godz. (wykonanie zadań projektowych) + 4 godz. (sporządzenie dokumentacji) = 44 godz.,
c. przygotowanie do kolokwiów: 8 godz.
Łączny nakład pracy studenta wynosi: 106 godz., co odpowiada 4 pkt. ECTS.
- Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
- 1,75 pkt. ECTS, co odpowiada 47 godz. kontaktowym
- Język prowadzenia zajęć:
- polski
- Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
- 2,25 pkt. ECTS, co odpowiada 60 godz. realizacji projektu
- Formy zajęć i ich wymiar w semestrze:
-
- Wykład30h
- Ćwiczenia0h
- Laboratorium0h
- Projekt15h
- Lekcje komputerowe0h
- Wymagania wstępne:
- Umiejętność programowania w przynajmniej jednym z języków: Scala, Python, R, Java.
Znajomość relacyjnych baz danych i język SQL.
Podstawowa wiedza z zakresu uczenia maszynowego.
- Limit liczby studentów:
- 45
- Cel przedmiotu:
- Przekazanie wiedzy na temat zagadnień związanych z przetwarzaniem danych w środowisku rozproszonym i wykorzystaniem narzędzi z obszaru Big Data.
- Treści kształcenia:
- Wykład:
1. Wprowadzenie do zagadnień przetwarzania Big Data. (2 godz). Wprowadzenie do przedmiotu, omówienie spraw organizacyjnych, cele zajęć oraz ich program. Omówienie przyczyn zmian w podejściu do retencji danych. Przedstawienie rysu historycznego metod składowania oraz analizy dużych zbiorów danych. Omówienie najważniejszych zagadnień związanych z Big Data: architektura lambda, przetwarzanie strumieniowe vs przetwarzanie batchowe, orkiestracja, serializacja i deserializacja danych, bazy NoSQL. Przedstawienie czołowych projektów z obszaru Big Data: Hadoop, Spark, Cassandra.
2. Podstawowe komponenty ekosystemu Hadoop: wprowadzenie do YARN i HDFS. (2 godziny)
3. Sposób organizacji danych: pojęcie jeziora danych (data lake), analityka oraz bazy klucz-wartość, serializacja i deserializacja danych, formaty (ORC, Parquet), Cassandra, HBase, pojęcie schematu danych i ewolucji na przykładzie Avro, wsparcie dla ACID na przykładzie DeltaLake czy Iceberg. Porównanie wydajności różnych konfiguracji dla rzeczywistych przypadków użycia, pochodzących z projektów badawczych (4 godziny)
4. Apache Spark. Omówienie koncepcji i zastosowań RDD (historycznie) i DataFrame. Architektura Spark (cluster manager, executor’y). Porównanie przetwarzania z Hadoop MapReduce oraz dyskusja dotycząca optymalizacji. Powiązanie z platformą Hadoop poprzez Resource Manger’a oraz wersja standalone (local). Omówienie API na podstawie przykładowego job’a. (4 godziny)
5. Analityka Big Data - SQL w środowisku Big Data (na przykładzie SparkSQL, Hive). Analiza danych z Hadoop za pomocą R i innych środowisk analitycznych (pyspark + jupyter). Przykłady potoków przetwarzania wykorzystywanych w projektach badawczych prowadzonych przez prowadzących (m.in. zastosowania w analizie danych z sekwencjonowania DNA). (4 godziny)
6. Wizualizacja danych - środowisko R/Python + narzędzia D3, Leaflet, Vega, deck.gl. Omówienie podstawowych pojęć i strategii wizualizacji danych z uwzględnieniem przede wszystkim danych ilościowych i danych geograficznych. (2 godziny)
7. Przetwarzanie strumieniowe. Wprowadzenie do narzędzi służących przetwarzaniu strumieni danych: Kafka, Spark Streaming, Apache Flink, Apache Beam. Przykład algorytmu strumieniowego z wykorzystaniem struktur danych takich jak: count min sketch, bloom filter. (4 godziny)
8. Big Data w chmurze. Przedstawienie architektur chmurowych, wirtualizacji i kontenerów, systemów zarządzania chmurą (OpenShift, K8S), Przykładowe osadzenie projektu big data w chmurze. Przedstawienie heterogenicznych środowisk obliczeniowych i zarządzania zasobami oraz ich izolacji za pomocą konteneryzacji. (2 godziny)
9. Zapewnienie bezpieczeństwa w środowisku rozproszonym - autentykacja(Kerberos) oraz scentralizowana autoryzacja dostępu do zasobów (Apache Ranger. Integracja z istniejącymi systemami bezpieczeństa, wykorzystanie impersonacji uzytkowników, bezpieczeństwo w środowisku kontenerowym. (2 godziny)
10. Uczenie maszynowe w środowiskach rozproszonych z wykorzystaniem bilbiotek TensorFlow. Wprowadzenie do uczenia maszynowego na przykładzie sieci neuronowych oraz głębokich sieci neuronowych. Wprowadzenie do TensorFlow oraz przykłady implementacji rozproszonej m.in. w oparciu o rozwiązania chmurowe. (4 godziny)
- Metody oceny:
- Realizacja przedmiotu obejmuje następujące formy zajęć:
wykład prowadzony w wymiarze 2 godz. tygodniowo,
interaktywna formuła wykładu,
projekt realizowany w zespołach,
wymóg konsultacji interpretacji tematu i zakresu projektu
wymóg przedstawienia do oceny wstępnej dokumentacji projektu
w ramach projektu studenci będą mieli możliwość rozwiązywać, rzeczywiste problemy badawcze, występujące m. in. w badaniach biomedycznych.
autorzy najbardziej wartościowych projektów, będą mieli możliwość kontynuacji pracy z prowadzącymi i wspólnego opracowania wyników w formie artykułu. Publikacja będzie mogła być zaliczona do Priorytetowego Obszaru Badawczego: Cyberbezpieczeństwo i Analiza Danych.
konsultacje z prowadzącymi.
Sprawdzanie założonych efektów kształcenia realizowane jest przez:
ocenę wiedzy i umiejętności wykazanych na kolokwium,
ocenę wiedzy i umiejętności związanych z realizacją zadań projektowych – ocena wykonanych prac implementacyjnych i jakości dokumentacji.
- Egzamin:
- nie
- Literatura:
- 1. Hadoop. Komplety przewodnik. Analiza i przechowywanie danych, Tom White, O’Reilly/Helion, 2015
2. Designing Data Intensive Applications, Martin Kleppman, O’Reilly, 2014
3. High Performance Spark, Holden Karau, O’Reilly, 2016
4. Edward Tufte, The Visual Display of Quantitative Information, Graphics Press, 2001
5. David McCandless, Knowledge is beautiful, Harper Collins, 2014
- Witryna www przedmiotu:
- https://usosweb.usos.pw.edu.pl/kontroler.php?_action=katalog2/przedmioty/pokazPrzedmiot&prz_kod=103A-INSZI-MSP-TBD
- Uwagi:
- (-)
Efekty uczenia się