====== B0M33BDT – Technologie pro velká data ====== Kvůli platným opatřením ČVUT se výuka do odvolání koná distančně. Počínaje 2. týdnem se učí přes fakultní skupiny MS Teams. Používáme skupinu B0M33BDT+BE0M33BDT.\\ **Aktuální informace:** Opravný praktický test proběhne 13. 1. od 9:15 online formou. Zadání testu v řádném termínu (6. 1.) s ukázkovým řešením najdete na konci sekce [[#zapocet|Zápočet]]. Informace ke zkouškám najdete v sekci [[#zkouska|Zkouška]]. ==== Důležité odkazy ==== * [[https://www.metacentrum.cz/cs/Sluzby/Hadoop/|výpočetní cluster Metacentrum]] -- v přihlášce uveďte, že patříte do evidenční skupiny CVUT:FEL:B0M33BDT, ev. CVUT:FEL:A4M33BDT * [[https://github.com/stameser/BDT|repozitář s materiály pro cvičení]] ==== Prerekvizity ==== Pro absolvování předmětu je potřeba umět aspoň na základní úrovni: * Linux (manipulace se soubory a adresáři, orientace v adresářové struktuře) * SQL (vytvoření tabulky, jednoduchý SELECT, agregační SELECT, JOIN) * Python * typy list, tuple, dict, set * manipulace s textovými řetězci * flow control (if, while, for) * definice funkce (def), lambda funkce * základní regulární výrazy Doporučujeme si nosit vlastní notebook, který se dokáže připojit na internet. Je potřeba mít aplikace na SCP připojení (např. WinSCP) a na SSH připojení (např. PuTTY). Hodí se i inteligentní textový editor pro psaní skriptů v Pythonu a SQL (Notepad++, PSPad apod.). ==== Rozvrh ==== Výuka probíhá vždy **ve středu**. Prezenční výuka byla plánována do budovy na Karlově náměstí. Po dobu distanční výuky budou odkazy na online výuku uváděny u příslušného týdne. * **lichý týden (L):** * pouze přednáška 9:15–10:45, místnost KN:E-127 * **sudý týden, varianta A (S-A):** * přednáška 9:15–10:45, místnost KN:E-127 * cvičení 2 paralelky 11:00–12:30 a 12:45–14:15, místnost KN:E-307 * **sudý týden, varianta B (S-B):** * supercvičení 2 paralelky 9:15-11:30 a 12:00-14:15 KN:E-307 První týden semestru je lichý, dále viz níže. Rozdělení do paralelek na cvičení a supercvičení si při distanční výuce zvolí každý sám. V případě prezenční výuky je jediným omezením kapacita místnosti na cvičení (22 míst, ostatní pak musí sedět vedle, na židli bez stolečku nebo se k někomu vmáčknout). ==== Sylabus a plán semestru ==== * **1. týden (L, 23. 9.):** Organizace přednášek, klasifikační požadavky. Motivace, přehled, aplikace. Přednáška proběhla [[https://teams.microsoft.com/l/meetup-join/19%3ameeting_Yzg1ODM2ODktMzNhZC00ZTkyLWExYmUtN2U4NzE0N2Q5YTk5%40thread.v2/0?context=%7b%22Tid%22%3a%22f6184fee-665e-4653-8922-8200a1e77b76%22%2c%22Oid%22%3a%22b3828702-7287-4a3d-99df-9dfe0da50a43%22%7d | v externím meetingu Teams]], {{ :courses:b0m33bdt:b0m33bdt-1p.pdf | prezentace v PDF}} * **2. týden (S-A, 30. 9.):** * přednáška -- Hadoop, architektura clusteru, {{ :courses:b0m33bdt:b0m33bdt-2p.pdf | prezentace v PDF}}. * cvičení -- první kroky na clusteru; **nutno si předem vyřídit přístup na Metacentrum, viz výše**, {{ :courses:b0m33bdt:b0m33bdt-1c.pdf | prezentace v PDF}}. * **3. týden (L, 7. 10.):** Storage (HDFS, Hive, Impala), {{ :courses:b0m33bdt:b0m33bdt-3p.pdf | prezentace v PDF}} * **4. týden (S-B, 14. 10.):** Supercvičení -- Hive, {{ :courses:b0m33bdt:b0m33bdt-cviceni-hive.pdf | prezentace v PDF}}, [[https://github.com/stameser/BDT/tree/master/cviceni/02_HIVE|zadání k samostatné práci]] * **5. týden (L, 21. 10.):** Map-reduce paradigma a implementace, {{ :courses:b0m33bdt:b0m33bdt-5p.pdf | prezentace v PDF}} * **6. týden (S-B, 28. 10.):** //výuka zrušena -- státní svátek// * **7. týden (L, 4. 11.):** Cloudové technologie, {{ :courses:b0m33bdt:b0m33bdt-6p.pdf | prezentace v PDF}} * **8. týden (S-A, 11. 11.):** Spark RDD * přednáška: {{ :courses:b0m33bdt:b0m33bdt-7p.pdf | prezentace v PDF}}, [[https://github.com/stameser/BDT/blob/master/prednasky/spark-prednaska-priklady.ipynb|příklady k přednášce]] * cvičení: [[https://github.com/stameser/BDT/tree/master/cviceni/04_SPARK_RDD|zadání k samostatné práci]] * **9. týden (L, 18. 11.):** Spark SQL, {{ :courses:b0m33bdt:b0m33bdt-8p.pdf | prezentace k přednášce}}, [[https://github.com/stameser/BDT/blob/master/prednasky/spark-sql-prednaska-priklady.ipynb|příklady k přednášce]] * **10. týden (S-B, 25. 11.):** Supercvičení -- Spark, {{ :courses:b0m33bdt:b0m33bdt-cviceni-spark-sql.pdf | prezentace v PDF}}, [[https://github.com/stameser/BDT/blob/master/cviceni/05_SPARK_SQL/spark_sql_cviceni.ipynb|zadání k samostatné práci]], [[https://github.com/stameser/BDT/blob/master/cviceni/05_SPARK_SQL/spark_sql_elementary.ipynb|Spark SQL v jednoduchých příkladech]] * **11. týden (L, 2. 12.):** Bigdatové architektury, {{ :courses:b0m33bdt:b0m33bdt-9p.pdf |prezentace k přednášce}}, {{:courses:b0m33bdt:architektura_dwh.png?direct&100|obrázek k přednášce}} * **12. týden (S-A, 9. 12.):** Další bigdatové technologie * přednáška: {{ :courses:b0m33bdt:b0m33bdt-10p.pdf |prezentace k přednášce}} * cvičení: [[https://github.com/stameser/BDT/tree/master/cviceni/06_Streaming|podklady ke cvičení]] * **13. týden (L, 16. 12.):** Big Data Science, {{ :courses:b0m33bdt:b0m33bdt-11p.pdf |prezentace k přednášce}} * **14. týden (S-B, 6. 1.):** Praktický test -- podrobnosti [[#klasifikacni_pozadavky_zapocet_zkouska|níže]] ==== Domácí úkol ==== V tomto semestru je zadán {{ :courses:b0m33bdt:domaci-ukol.pdf | jediný domácí úkol}}, za který můžete získat max. 10 bodů. Termín odevzdání je nejpozději o půlnoci z 31. 12. 2020 na 1. 1. 2021. Máte-li dotazy, [[mailto:jan.hucin@profinit.eu|napište e-mail]]. ==== Klasifikační požadavky (zápočet, zkouška) ==== === Zápočet === Lze jej získat jedním ze dvou způsobů (navzájem se nevylučují): * Vypracování zápočtové úlohy aspoň za 25 bodů (max. 50 bodů). * zpracování samostatné analýzy velkého datového souboru –- zadání pro analýzu dohodne student s pověřeným vyučujícím ([[sergii.stamenov@profinit.eu|Sergii Stamenov]]) * dokumentace postupu a sepsání závěrečné zprávy (cca 10 stran) * Zisk aspoň 25 bodů z 50 možných za průběžný test, domácí úkol a praktický test. * za test z teorie na konci semestru lze získat max. 10 bodů * v závěrečném praktickém testu lze získat max. 30 bodů * za domácí úkol lze získat max. 10 bodů * granularita hodnocení ve všech disciplínách jsou půlbody **Test z teorie i praktický test proběhly online formou v rámci posledního supercvičení (6. 1.)** Pro oba testy byl vytvořen channel s meetingem v obvyklé skupině MS Teams. * Obsahem praktického testu jsou úlohy na zpracování dat pomocí Hadoopu a jeho technologií. Každý pracuje samostatně, ale je povoleno používat vlastní i internetové podklady: zápisky, vzorové kódy z přednášek i cvičení, Google, Stack Overflow apod. * Praktický test je možné jednou opakovat v opravném termínu podle dohody s vyučujícím. Při opakování se výsledek prvního testu ruší a platí výsledek druhého testu, i kdyby byl horší než u prvního testu. * Řádný termín, varianta A: {{ :courses:b0m33bdt:finaltest-zadani-a.pdf | zadání}}, {{ :courses:b0m33bdt:test1_a.txt | ukázkové řešení Hive}}, {{ :courses:b0m33bdt:test1_a.py | ukázkové řešení analytických úloh}} * Řádný termín, varianta B: {{ :courses:b0m33bdt:finaltest-zadani-b.pdf | zadání}}, {{ :courses:b0m33bdt:test1_b.txt | ukázkové řešení Hive}}, {{ :courses:b0m33bdt:test1_b.py | ukázkové řešení analytických úloh}} **Opravný praktický test proběhne formou online ve středu 13. 1. od 9:15.** Bude pro něj vytvořen samostatný kanál v MS Teams. === Zkouška === Proběhne formou osobního pohovoru s některým přednášejícím na teoretická témata přednesená během semestru. Počet bodů získaných pro zápočet má vliv na známku u zkoušky. Termíny zkoušek jsou již vypsány v [[https://www.kos.cvut.cz | KOSu]]: * 20. 1. od 10 a od 13 hodin * 22. 1. od 10 hodin * 27. 1. od 10 hodin * 29. 1. od 10 hodin Každý termín se dělí na tři časové sloty po 20 minutách, do každého slotu se mohou zapsat 3-4 studenti (počet se řídí počtem zkoušejících, kteří jsou v daný čas k dispozici). **Pozor, změna místa!** Zkouška proběhne v [[https://profinit.eu/kontakt/ | hlavní budově firmy Profinit]], [[https://mapy.cz/s/32KkA | Praha 6, Tychonova 2]]. * Nahlašte se dole u vchodu v recepci. * Do prostor Profinitu doražte prosím ne dříve než 5 minut před začátkem termínu (kvůli prevenci shlukování lidí). Ihned po absolvování zkoušky prostory opusťte. * Nezapomeňte si osobní průkaz s fotografií. * V celé budově je třeba nosit roušky nebo si zakrývat ústa a nos jiným vhodným způsobem. ==== Kontakt ==== [[jan.hucin@profinit.eu|Jan Hučín]] ==== Literatura ==== Hadoop: The Definitive Guide, 4th Edition, by Tom White