МОВС Обработка и анализ больших массивов данных, BigData (ММОВС22, 5-6 модули) — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
м (add chat link)
м (добавил лекции 18-20)
 
(не показаны 44 промежуточные версии 2 участников)
Строка 1: Строка 1:
 
==О курсе==
 
==О курсе==
 +
''На нашем курсе мы поговорим про то, что такое большие данные, где хранить их, как их обрабатывать, как можно с ними работать и как давать доступ к данным другим людям. <br/> Так как наш курс длится всего два модуля, а тема бигдаты настолько широка, что для ее глубокого изучения не хватит и двух лет, то мы разберем только самый необходимый теоретический минимум, а остальное время посвятим принципам работы популярных инструментов. ''
 +
  
 
Занятия проводятся в [https://us06web.zoom.us/j/81732234900?pwd=OUh3VUJNNGMrUHdzODBBR2czcUhjUT09 Zoom] '''по понедельникам в 19:40'''. Семинары по проектной части курса - '''в некоторые четверги''' также '''в 19:40'''
 
Занятия проводятся в [https://us06web.zoom.us/j/81732234900?pwd=OUh3VUJNNGMrUHdzODBBR2czcUhjUT09 Zoom] '''по понедельникам в 19:40'''. Семинары по проектной части курса - '''в некоторые четверги''' также '''в 19:40'''
Строка 13: Строка 15:
 
! Ассистент !! Telegram
 
! Ассистент !! Telegram
 
|-
 
|-
| style="background:#eaecf0;" | Андрей || [https://t.me/mr_dyadyunov @mr_dyadyunov]
+
| style="background:#eaecf0;" | Андрей Дядюнов || [https://t.me/mr_dyadyunov @mr_dyadyunov]
 
|-
 
|-
| style="background:#eaecf0;" | ||  
+
| style="background:#eaecf0;" | Андрей Бабынин || [https://t.me/maninoffice @maninoffice]
 
|}
 
|}
  
Строка 23: Строка 25:
 
Ссылка на GitHub с материалами курса: [[ GitHub repository]]
 
Ссылка на GitHub с материалами курса: [[ GitHub repository]]
  
{| class="wikitable"
+
Яндекс.Диск с материалами курса: https://disk.yandex.ru/d/9QZ_6UIZvwvzhg
 +
 
 +
{| class="wikitable"  
 
|-
 
|-
  ! Занятие !! Тема !! Дата !! Материалы для самоподготовки к семинарам !! Дополнительные материалы
+
  ! Занятие !! Тема !! Дата !! Доп. материалы
 
|-
 
|-
| style="background:#eaecf0;" | '''1''' [[ Запись]] || [[ Ноутбук]] Вводная: что есть бигдата, что будет на курсе || 04.09.23 || ||
+
| style="background:#eaecf0;" | '''1''' [https://www.youtube.com/watch?v=k_9GUcKctsg&list=PLmA-1xX7IuzAkhOWHn5n-Rh3Y1NoruOQ_ Запись] || [https://docs.yandex.ru/docs/view?url=ya-disk-public%3A%2F%2FDK4yZQ4%2B4BKxPG8NpPT3antMZuUv6wdHFvLpaGwZSMpfT7O%2FAl68xlJk3QmmbNZ0q%2FJ6bpmRyOJonT3VoXnDag%3D%3D%3A%2FHSE20232024_BigData.pptx&name=HSE20232024_BigData.pptx&nosw=1 Слайды] Вводная: что есть бигдата, что будет на курсе || 04.09.23 || На занятии упомянались: "Dama DMBOK2", статья [https://motherduck.com/blog/big-data-is-dead/ "BigData is Dead"].<br/> После -- [https://youtu.be/3OwMq341zQs?si=6zHJR-Cw7M3UJ4ic Видео Димы Аношина] про 2 типа инженеров данных
 
|-
 
|-
| style="background:#eaecf0;" | '''2''' [[ Запись]] || [[ Ноутбук]] HDFS: принципы и основы. Основные компоненты Hadoop || 11.09.23 || ||  
+
| style="background:#eaecf0;" | '''2''' [https://www.youtube.com/watch?v=pdBoAajgNUU&list=PLmA-1xX7IuzAkhOWHn5n-Rh3Y1NoruOQ_ Запись] || [https://docs.yandex.ru/docs/view?url=ya-disk-public%3A%2F%2FDK4yZQ4%2B4BKxPG8NpPT3antMZuUv6wdHFvLpaGwZSMpfT7O%2FAl68xlJk3QmmbNZ0q%2FJ6bpmRyOJonT3VoXnDag%3D%3D%3A%2FHSE20232024_BigData_2_hdfs.pptx&name=HSE20232024_BigData_2_hdfs.pptx&nosw=1 Слайды] HDFS: принципы и основы. Основные компоненты Hadoop || 11.09.23 ||
 
|-
 
|-
| style="background:#eaecf0;" | '''3''' [[ Запись]] || [[ Ноутбук]] MapReduce over Python: Азы || 14.09.23 || ||
+
| style="background:#eaecf0;" | '''3''' [https://www.youtube.com/watch?v=6hsGxGgvKts&list=PLmA-1xX7IuzAkhOWHn5n-Rh3Y1NoruOQ_ Запись] || MapReduce over Python: Азы || 18.09.23 || [https://youtu.be/PGkDiS-XKlE?si=9kdueo_z5eC7lFNA Доклад "Многоликая pandas"], Павел Филонов
 
|-
 
|-
| style="background:#eaecf0;" | '''4''' [[ Запись]] || [[ Ноутбук]] MapReduce over Python: Join / Group By || 18.09.23 || ||  
+
| style="background:#eaecf0;" | '''4''' [https://www.youtube.com/watch?v=eqhZ_ktxSBw&list=PLmA-1xX7IuzAkhOWHn5n-Rh3Y1NoruOQ_ Запись] || MapReduce over Python: Join / Group By || 25.09.23 ||
 
|-
 
|-
| style="background:#eaecf0;" | '''5''' [[ Запись]] || [[ Ноутбук]] Hive || 25.09.23 || ||  
+
| style="background:#eaecf0;" | '''5''' [https://www.youtube.com/watch?v=EDbjI3cs-r4&list=PLmA-1xX7IuzAkhOWHn5n-Rh3Y1NoruOQ_ Запись] || [https://docs.yandex.ru/docs/view?url=ya-disk-public%3A%2F%2FDK4yZQ4%2B4BKxPG8NpPT3antMZuUv6wdHFvLpaGwZSMpfT7O%2FAl68xlJk3QmmbNZ0q%2FJ6bpmRyOJonT3VoXnDag%3D%3D%3A%2FHSE20232024_BigData_5_hive.pptx&name=HSE20232024_BigData_5_hive.pptx&nosw=1 Слайды] Hive || 29.09.23 ||
 
|-
 
|-
| style="background:#eaecf0;" | '''6''' [[ Запись]] || [[ Ноутбук]] YARN|| 28.09.23 || ||  
+
| style="background:#eaecf0;" | '''6''' [https://www.youtube.com/watch?v=mf3J3TI6mNI&list=PLmA-1xX7IuzAkhOWHn5n-Rh3Y1NoruOQ_ Запись] || [https://docs.yandex.ru/docs/view?url=ya-disk-public%3A%2F%2FDK4yZQ4%2B4BKxPG8NpPT3antMZuUv6wdHFvLpaGwZSMpfT7O%2FAl68xlJk3QmmbNZ0q%2FJ6bpmRyOJonT3VoXnDag%3D%3D%3A%2FHSE20232024_BigData_5_yarn.pptx&name=HSE20232024_BigData_5_yarn.pptx&nosw=1 Слайды] YARN|| 02.10.23 ||  
 
|-
 
|-
| style="background:#eaecf0;" | '''7''' [[ Запись]] || [[ Ноутбук]] Parquet/ORC колоночный формат|| 02.10.23 || ||  
+
| style="background:#eaecf0;" | '''7''' [https://www.youtube.com/watch?v=Qlt0Qb177B8&list=PLmA-1xX7IuzAkhOWHn5n-Rh3Y1NoruOQ_ Запись] || [https://docs.yandex.ru/docs/view?url=ya-disk-public%3A%2F%2FDK4yZQ4%2B4BKxPG8NpPT3antMZuUv6wdHFvLpaGwZSMpfT7O%2FAl68xlJk3QmmbNZ0q%2FJ6bpmRyOJonT3VoXnDag%3D%3D%3A%2FHSE20232024_BigData_6_parquet.pptx&name=HSE20232024_BigData_6_parquet.pptx&nosw=1 Слайды] Parquet/ORC колоночный формат|| 05.10.23 ||  
 
|-
 
|-
| style="background:#eaecf0;" | '''8''' [[ Запись]] || [[ Ноутбук]] Spark Batch + Zeppelin || 09.10.23 || ||  
+
| style="background:#eaecf0;" | '''8''' [https://www.youtube.com/watch?v=aU526n01bpo&list=PLmA-1xX7IuzAkhOWHn5n-Rh3Y1NoruOQ_ Запись] || [https://docs.yandex.ru/docs/view?url=ya-disk-public%3A%2F%2FDK4yZQ4%2B4BKxPG8NpPT3antMZuUv6wdHFvLpaGwZSMpfT7O%2FAl68xlJk3QmmbNZ0q%2FJ6bpmRyOJonT3VoXnDag%3D%3D%3A%2FHSE20232024_BigData_7_Spark.pptx&name=HSE20232024_BigData_7_Spark.pptx&nosw=1 Слайды] Spark Batch || 16.10.23 ||  
 
|-
 
|-
| style="background:#eaecf0;" | '''9''' [[ Запись]] || [[ Ноутбук]] Green Plum || 12.10.23 || ||
+
| style="background:#eaecf0;" | '''9''' [https://www.youtube.com/watch?v=fVY_hcu5tYo&list=PLmA-1xX7IuzAkhOWHn5n-Rh3Y1NoruOQ_ Запись] || Логическая архитектура баз данных || 23.10.23 ||  
|-
+
| style="background:#eaecf0;" | '''10''' [[ Запись]] || [[ Ноутбук]] BI || 16.10.23 || ||  
+
 
|-
 
|-
 
| Конец пятого модуля |
 
| Конец пятого модуля |
 
|-
 
|-
| style="background:#eaecf0;" | '''11''' [[ Запись]] || [[ Ноутбук]] AirFlow ||  || ||  
+
| style="background:#eaecf0;" | '''10''' [https://youtu.be/U_3V6CK02G4?si=l-jEgpk2GwRrDRqC Запись] || GreenPlum, ClickHouse || 06.11.23 ||  
 
|-
 
|-
| style="background:#eaecf0;" | '''12''' [[ Запись]] || [[ Ноутбук]] ClickHouse ||  || ||  
+
| style="background:#eaecf0;" | '''11''' [https://youtu.be/9kQ2pcnYIV0?si=-1o_vfW6G-X3Qepa Запись]
 +
|| SparkStreaming || 09.11.23 ||
 
|-
 
|-
| style="background:#eaecf0;" | '''13''' [[ Запись]] || [[ Ноутбук]] Kafka ||  || ||  
+
| style="background:#eaecf0;" | '''12''' [https://youtu.be/qXXOHwoPLcs?si=lmrvAWGqc376VDsy Запись] || Spark || 13.11.23 ||  
 
|-
 
|-
| style="background:#eaecf0;" | '''14''' [[ Запись]] || [[ Ноутбук]] SparkStreaming || || ||  
+
| style="background:#eaecf0;" | '''13''' [https://youtu.be/qez712pYgVk?si=ZyiN-fYgccHQvRAH Запись] || Kafka || 16.11.23 ||  
 
|-
 
|-
| style="background:#eaecf0;" | '''15''' [[ Запись]] || [[ Ноутбук]] Логические архитектуры таблиц || || ||  
+
| style="background:#eaecf0;" | '''14''' [https://youtu.be/VUcie0IkcSM?si=5xcaGclRfT2Mm9Ev Запись] || Kafka, продолжение || 20.11.23 ||  
 
|-
 
|-
| style="background:#eaecf0;" | '''16''' [[ Запись]] || [[ Ноутбук]] DQ + DataLineage, DWH over S3 || || ||
+
| style="background:#eaecf0;" | '''15''' [https://youtu.be/6O2MeBXfUzg?si=46R8X6-Cs1BDKIEr Запись] || Apache Spark Streaming || 23.11.23 ||  
 
|-
 
|-
| style="background:#eaecf0;" | '''17''' [[ Запись]] || [[ Ноутбук]] Консультация || || ||  
+
| style="background:#eaecf0;" | '''16''' [https://youtu.be/DzTzFMMUrrY?si=Za6P7wChj77d1H-i Запись] || BI-инструменты || 27.11.23 ||
 
|-
 
|-
| style="background:#eaecf0;" | '''18''' [[ Запись]] || [[ Ноутбук]] Экзамен || || ||  
+
| style="background:#eaecf0;" | '''17''' [https://youtu.be/ZigRSGWGzVs?si=IsN93YdqAljg8lA5 Запись] || DataMesh || 30.11.23 ||  
 
|-
 
|-
| style="background:#eaecf0;" | '''19''' [[ Запись]] || [[ Ноутбук]] Защиты проектов || || ||
+
| style="background:#eaecf0;" | '''18''' [https://youtu.be/gnNa0gKzn-4?si=RFsPzRbQCA9Z7-hA Запись] || Многопоточность || 11.12.23 ||
 
|-
 
|-
| style="background:#eaecf0;" | '''20''' [[ Запись]] || [[ Ноутбук]] Защиты проектов || || ||  
+
| style="background:#eaecf0;" | '''19''' [https://youtu.be/K1g7q6sDCh8?si=ihiYNbSYc_OAB6RJ Запись] || Консультация по проекту || 14.12.23 ||
 +
|-
 +
| style="background:#eaecf0;" | '''20''' [https://youtu.be/1K8Z8gvCc2w?si=P2Kwh6z0KbjQU1fS Запись] || Разбор шаблона проекта|| 18.12.23 ||  
 
|-
 
|-
 
|}
 
|}
Строка 75: Строка 80:
 
==Формула оценивания==
 
==Формула оценивания==
  
Оценка = ...<вес 1>...*О<sub>...<форма контроля 1>...</sub> + ...<вес 2>...*О<sub>...<форма контроля 2>...</sub> + ...<вес 3>...*О<sub>...<форма контроля 3>...</sub>
+
Оценка = 0.3*О<sub>Проект</sub> + 0.7*О<sub>ДЗ</sub>
 
+
  
 
== Домашние задания ==
 
== Домашние задания ==
#  
+
Инвайт в [https://anytask.org/course/1040 Anytask]: <code>JWlwe2m</code>
#  
+
 
#  
+
# [https://contest.yandex.ru/contest/52837/enter Контест "Map & Reduce"], '''Дедлайн: 08.10 (Вс), 23:59 GMT+3'''
#  
+
# [https://contest.yandex.ru/contest/53118/enter Контест "MapReduce Python"], '''Дедлайн: 15.10 (Вс), 23:59 GMT+3'''
 +
# [https://contest.yandex.ru/contest/53927/enter Контест "Hive"], '''Дедлайн: 23.10 (Пон.), 23:59 GMT+3'''
 +
# [https://contest.yandex.ru/contest/55559/enter Контест "ClickHouse"], '''Дедлайн: 12.11 (Вс.), 23:59 GMT+3'''
 +
# [https://contest.yandex.ru/contest/56821/problems/ Контест Spark-1], '''Дедлайн: 17.12 (Вс), 23:59 GMT+3'''
 +
# [https://contest.yandex.ru/contest/57681/enter Контест Spark-2], '''Дедлайн: 10.01 (Cр), 23:59 GMT+3'''
 +
#
 +
 
 +
== Проект ==
 +
'''Результат проекта: ''' имеющая практический смысл система, которая:
 +
* производит регулярную загрузку данных в хранилище;
 +
* обрабатывает эти данные в хранилище;
 +
* имеет какой-то интерфейс к обработанным данным.
 +
 
 +
'''+ Документация''' к системе, в которой описаны:
 +
* компоненты системы;
 +
* причины использования тех или иных решений;
 +
* назначение системы.
 +
 
 +
На этапе приёмки проекта <u>будут проверяться и оцениваться</u>:
 +
# практическая полезность (''лучше согласовать с преподавателем и договориться заранее'') и работоспособность системы ['''0 - 3 балла''']
 +
# наличие регулярной загрузки новых данных в хранилище (''Apache Spark Streaming // AirFlow'') ['''0 - 2 балла''']
 +
# наличие регулярной обработки данных после их загрузки (''AirFlow'') ['''0 - 3 балла''']
 +
# наличие UI (''web-интерфейс // Telegram Bot // дашборд в DataLens'') ['''0 - 2 балла''']
  
 
== Литература ==
 
== Литература ==

Текущая версия на 02:22, 21 декабря 2023

О курсе

На нашем курсе мы поговорим про то, что такое большие данные, где хранить их, как их обрабатывать, как можно с ними работать и как давать доступ к данным другим людям.
Так как наш курс длится всего два модуля, а тема бигдаты настолько широка, что для ее глубокого изучения не хватит и двух лет, то мы разберем только самый необходимый теоретический минимум, а остальное время посвятим принципам работы популярных инструментов.


Занятия проводятся в Zoom по понедельникам в 19:40. Семинары по проектной части курса - в некоторые четверги также в 19:40

Контакты

Чат курса в TG: https://t.me/+jjXJ4m1O8shiNTcy

Преподаватель: Максим Стаценко

Ассистент Telegram
Андрей Дядюнов @mr_dyadyunov
Андрей Бабынин @maninoffice

Материалы курса

Ссылка на плейлист курса на YouTube: YouTube-playlist

Ссылка на GitHub с материалами курса: GitHub repository

Яндекс.Диск с материалами курса: https://disk.yandex.ru/d/9QZ_6UIZvwvzhg

Занятие Тема Дата Доп. материалы
1 Запись Слайды Вводная: что есть бигдата, что будет на курсе 04.09.23 На занятии упомянались: "Dama DMBOK2", статья "BigData is Dead".
После -- Видео Димы Аношина про 2 типа инженеров данных
2 Запись Слайды HDFS: принципы и основы. Основные компоненты Hadoop 11.09.23
3 Запись MapReduce over Python: Азы 18.09.23 Доклад "Многоликая pandas", Павел Филонов
4 Запись MapReduce over Python: Join / Group By 25.09.23
5 Запись Слайды Hive 29.09.23
6 Запись Слайды YARN 02.10.23
7 Запись Слайды Parquet/ORC колоночный формат 05.10.23
8 Запись Слайды Spark Batch 16.10.23
9 Запись Логическая архитектура баз данных 23.10.23
10 Запись GreenPlum, ClickHouse 06.11.23
11 Запись SparkStreaming 09.11.23
12 Запись Spark 13.11.23
13 Запись Kafka 16.11.23
14 Запись Kafka, продолжение 20.11.23
15 Запись Apache Spark Streaming 23.11.23
16 Запись BI-инструменты 27.11.23
17 Запись DataMesh 30.11.23
18 Запись Многопоточность 11.12.23
19 Запись Консультация по проекту 14.12.23
20 Запись Разбор шаблона проекта 18.12.23

Записи консультаций

Формула оценивания

Оценка = 0.3*ОПроект + 0.7*ОДЗ

Домашние задания

Инвайт в Anytask: JWlwe2m

  1. Контест "Map & Reduce", Дедлайн: 08.10 (Вс), 23:59 GMT+3
  2. Контест "MapReduce Python", Дедлайн: 15.10 (Вс), 23:59 GMT+3
  3. Контест "Hive", Дедлайн: 23.10 (Пон.), 23:59 GMT+3
  4. Контест "ClickHouse", Дедлайн: 12.11 (Вс.), 23:59 GMT+3
  5. Контест Spark-1, Дедлайн: 17.12 (Вс), 23:59 GMT+3
  6. Контест Spark-2, Дедлайн: 10.01 (Cр), 23:59 GMT+3

Проект

Результат проекта: имеющая практический смысл система, которая:

  • производит регулярную загрузку данных в хранилище;
  • обрабатывает эти данные в хранилище;
  • имеет какой-то интерфейс к обработанным данным.

+ Документация к системе, в которой описаны:

  • компоненты системы;
  • причины использования тех или иных решений;
  • назначение системы.

На этапе приёмки проекта будут проверяться и оцениваться:

  1. практическая полезность (лучше согласовать с преподавателем и договориться заранее) и работоспособность системы [0 - 3 балла]
  2. наличие регулярной загрузки новых данных в хранилище (Apache Spark Streaming // AirFlow) [0 - 2 балла]
  3. наличие регулярной обработки данных после их загрузки (AirFlow) [0 - 3 балла]
  4. наличие UI (web-интерфейс // Telegram Bot // дашборд в DataLens) [0 - 2 балла]

Литература

  • «Hadoop: The Definitive Guide», Tom White
  • «Spark для профессионалов», Сэнди Риза, Ури Лезерсон, Шон Оуэн и Джош Уиллс
  • Та самая "книжка с кабанчиком" «Designing Data-Intensive Applications» by Martin Kleppman
  • «Big Data: Principles and Best Practices Of Scalable Real-Time Data Systems» by Nathan Marz and James Warren