Методы и системы обработки больших данных (осень 2018) — различия между версиями
Материал из Wiki - Факультет компьютерных наук
(→Программа занятий) |
|||
(не показано 18 промежуточных версии этого же участника) | |||
Строка 1: | Строка 1: | ||
− | '''Лектор''': Алексей Драль | + | '''Лектор''': Алексей Драль, Александр Штохов |
− | '''Семинаристы''': Павел Ахтямов, Артем Козлов | + | '''Семинаристы''': Павел Ахтямов, Артем Козлов, Александр Штофов |
'''Контакты''': по всем организационным вопросам просьба писать на почту '''big_data_hse_fall_2018@bigdatateam.org'''. | '''Контакты''': по всем организационным вопросам просьба писать на почту '''big_data_hse_fall_2018@bigdatateam.org'''. | ||
Строка 27: | Строка 27: | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
− | ! '''Неделя''' !! '''Дата''' !! '''Название''' !! '''Материалы''' | + | ! '''Неделя''' !! '''Тип''' !! '''Дата''' !! '''Название''' !! '''Материалы''' |
|- | |- | ||
− | | 1 || 06.09 || Лекция | + | | 1 || 06.09 || Лекция || Понятие "большие данные". Постановка задачи обработки и хранения больших данных. Примеры применения больших данных в IT индустрии. Основные проблемы в работе распределенных систем. Виды отказов узлов, связей между узлами. Устройство GFS, HDFS. Процесс восстановления HDFS. || [https://rebrand.ly/big_data_hse_fall_2018_lecture_01 презентация] |
|- | |- | ||
− | | 1 || 06.09 || Семинар | + | | 1 || 06.09 || Семинар || Устройство HDFS кластера. HDFS CLI (интерфейс командной строки HDFS). Пользовательский интерфейс NameNode. Решение задач на вычисление объемов вычислительных ресурсов кластера. || |
|- | |- | ||
− | | 2 || 20.09 || Лекция | + | | 2 || 20.09 || Лекция || MapReduce. Операции Map, Reduce. Distributed Shell как пример MapReduce задачи. Формальная модель парадигмы MapReduce. Задача подсчета слов в датасете (Word Count) Обеспечение отказоустойчивости в MapReduce. Сравнение MapReduce v1 и YARN. История развития MapReduce. MapReduce Streaming на примере Python. Устройство Distributed Cache. Переменные окружения в MapReduce. Использование счетчиков для подсчета статистик. Отслеживание прогресса выполнения задач через JobTracker, истории выполнения задач через HistoryServer. Процесс тестирования MapReduce задач. || [https://rebrand.ly/big_data_hse_fall_2018_lecture_2 презентация] |
|- | |- | ||
− | | 2 || 20.09 || Семинар | + | | 2 || 20.09 || Семинар || Решение задач MapReduce Streaming: подсчет количества слов, стоп-слов в Википедии, парсинг логов Apache. Distributed Cache. Метод Монте-Карло и большие данные. Отладка MapReduce задач. || [https://piazza.com/class/jlpi5xisy065wj?cid=32 конспект] |
+ | |- | ||
+ | | 3 || 27.09 || Лекция || Advanced MapReduce. Расширение функциональности MapReduce: Combiner, Partitioner, Comparator. Использование Combiner для подсчета статистик: поиск среднего значения и медианы по ключу. Конфигурации Partitioner для агрегации биграмм и ip-адресов. Расширенные возможности сортировки при помощи Comparator. Передача данных и способы компрессии данных при выполнении MapReduce задач. Объединение датасетов: Map-Side Join, Reduce-Side Join. Расширенный контроль за порядком поступления данных: Secondary Sort. Интерфейс командной строки YARN: статус задачи, принудительное завершение вычислительных задач. Работа с неравномерно распределенными значениями ключей (Skew). Вычисление коэффициента ускорения работы MapReduce задач. || | ||
+ | |- | ||
+ | | 3 || 27.09 || Семинар || Решение задач на MapSide Join, Reduce-Side Join. Использование объединений для вычисления аналитики сегментов рынка. || [https://piazza.com/class/jlpi5xisy065wj?cid=69 конспект] | ||
+ | |- | ||
+ | | 4 || 04.10 || Лекция || Hive: мотивация, языковая модель. Проблема смещения данных в обработке больших данных. Применение SQL в IT индустрии. Сравнение решений Hive и MapReduce на примере задач анализа логов. Практика SQL: агрегация данных, фильтрация данных, сортировка, объединение таблиц. Архитектура Hive: Metastore + Hadoop + HDFS. Язык определения данных в Hive (Hive DDL): типы таблиц, разделители. Язык управления данными в Hive (Hive DML): загрузка данных, перезапись данных, CTAS. Парсер данных SerDe. || | ||
+ | |- | ||
+ | | 4 || 04.10 || Семинар || Работа с Hive: создание баз данных, таблиц. Работа с external таблицами, конструкция INSERT OVERWRITE для работы с external таблицами. Парсинг логов, задание типов в таблицах || | ||
+ | |- | ||
+ | | 5 || 11.10 || Лекция || Hive, расширенные возможности. Hive View: особенности, преимущества и недостатки. Пользовательские функции (UDF), пользовательские агрегирующие функции (UDAF), пользовательские функции для генерации таблиц (UDTF). Hive Streaming. Hive Partitioning, Bucketing and Sampling. Особенности Join в Hive. Исправление проблемы смещения в Hive. Поколоночное хранение в Hive (RCFile, ORC, Parquet) || [https://rebrand.ly/big_data_hse_fall_2018_lecture_5 презентация] | ||
+ | |- | ||
+ | | 5 || 11.10 || Семинар || Hive, расширенные возможности. Бенчмарк ORC vs Textfile. Пользовательские функции (UDF), пользовательские функции для генерации таблиц (UDTF). Hive Streaming, сэмплирование данных || [https://piazza.com/class/jlpi5xisy065wj?cid=101 конспект] | ||
|- | |- | ||
|} | |} | ||
Строка 42: | Строка 54: | ||
{| class="wikitable" | {| class="wikitable" | ||
− | ! '''Тип задания''' !! '''Тема''' !! '''Дата выдачи''' !! '''Дедлайн''' !! '''Количество баллов''' !! '''Ссылка''' | + | ! '''#''' !! '''Тип задания''' !! '''Тема''' !! '''Дата выдачи''' !! '''Дедлайн''' !! '''Количество баллов''' !! '''Ссылка''' |
|- | |- | ||
− | | Тест || HDFS || 13.09 || 19.09 23:59 || 5 || http://rebrand.ly/big_data_hse_fall_2018_quiz_1_Urgz1 | + | | 1 || Тест || HDFS || 13.09 || 19.09 23:59 || 5 || http://rebrand.ly/big_data_hse_fall_2018_quiz_1_Urgz1 |
|- | |- | ||
− | | Практическое задание || HDFS || 06.09 || 19.09 23:59 || 100 || http://rebrand.ly/big_data_hse_fall_2018_hw_1 | + | | 1 || Практическое задание || HDFS || 06.09 || 19.09 23:59 || 100 || http://rebrand.ly/big_data_hse_fall_2018_hw_1 |
+ | |- | ||
+ | | 2 || Тест || MapReduce. Основы || 20.09 || 26.09 23:59 || 5 || https://rebrand.ly/big_data_hse_fall_2018_quiz_2_FMHq | ||
+ | |- | ||
+ | | 2 || Практическое задание || MapReduce. Основы || 20.09 || 26.09 23:59 || 50 || [https://piazza.com/class/jlpi5xisy065wj?cid=30 Задание] | ||
+ | |- | ||
+ | | 2 || Бонусная задача || MapReduce. Основы || 20.09 || 23.09 23:59 || 20 || | ||
+ | |- | ||
+ | | 3 || Тест || MapReduce. Оптимизация || 27.09 || 03.10 23:59 || 5 || https://rebrand.ly/big_data_hse_fall_2018_quiz_3_oMku | ||
+ | |- | ||
+ | | 3 || Практическое задание || MapReduce. Объединения || 30.09 || 09.10 23:59 || 50 || [http://%20https://piazza.com/class/jlpi5xisy065wj?cid=72 Задание] | ||
+ | |- | ||
+ | | 4 || Тест || Hive 1 || 04.10 || 10.10 23:59 || 5 || [https://rebrand.ly/big_data_hse_fall_2018_quiz_4_wdOB Тест] | ||
+ | |- | ||
+ | | 4 || Практическое задание || Hive 1 || 07.10 || 15.10 23:59 || 50 || | ||
|- | |- | ||
|} | |} | ||
− | |||
==Материалы== | ==Материалы== | ||
1. Полные материалы лекций, семинаров и домашних заданий доступны по ссылке: http://rebrand.ly/big_data_hse_fall_2018_materials | 1. Полные материалы лекций, семинаров и домашних заданий доступны по ссылке: http://rebrand.ly/big_data_hse_fall_2018_materials | ||
2. | 2. |
Текущая версия на 10:28, 11 октября 2018
Лектор: Алексей Драль, Александр Штохов
Семинаристы: Павел Ахтямов, Артем Козлов, Александр Штофов
Контакты: по всем организационным вопросам просьба писать на почту big_data_hse_fall_2018@bigdatateam.org.
У курса есть чат в Telegram. Объявления по курсу вывешиваются в чате!
Содержание
Отчетность по курсу и критерии оценивания
В курсе предусмотрены следующие отчетные мероприятия:
- тест на проверку знаний по материалам лекции и семинара (5 баллов за каждый тест) (13 недель)
- практическое домашнее задание (50 баллов x (количество недель на задание) за каждое домашнее задание) (13 недель)
Итоговая оценка складывается следующим образом:
Score = (HW_Score + Test_Score) / 50, где
- HW_Score - суммарное количество баллов за домашние задания;
- Test_Score - суммарное количество баллов за тесты.
Таблица с оценками доступна по ссылке: https://rebrand.ly/big_data_hse_fall_2018_grades
Программа занятий
Неделя | Тип | Дата | Название | Материалы |
---|---|---|---|---|
1 | 06.09 | Лекция | Понятие "большие данные". Постановка задачи обработки и хранения больших данных. Примеры применения больших данных в IT индустрии. Основные проблемы в работе распределенных систем. Виды отказов узлов, связей между узлами. Устройство GFS, HDFS. Процесс восстановления HDFS. | презентация |
1 | 06.09 | Семинар | Устройство HDFS кластера. HDFS CLI (интерфейс командной строки HDFS). Пользовательский интерфейс NameNode. Решение задач на вычисление объемов вычислительных ресурсов кластера. | |
2 | 20.09 | Лекция | MapReduce. Операции Map, Reduce. Distributed Shell как пример MapReduce задачи. Формальная модель парадигмы MapReduce. Задача подсчета слов в датасете (Word Count) Обеспечение отказоустойчивости в MapReduce. Сравнение MapReduce v1 и YARN. История развития MapReduce. MapReduce Streaming на примере Python. Устройство Distributed Cache. Переменные окружения в MapReduce. Использование счетчиков для подсчета статистик. Отслеживание прогресса выполнения задач через JobTracker, истории выполнения задач через HistoryServer. Процесс тестирования MapReduce задач. | презентация |
2 | 20.09 | Семинар | Решение задач MapReduce Streaming: подсчет количества слов, стоп-слов в Википедии, парсинг логов Apache. Distributed Cache. Метод Монте-Карло и большие данные. Отладка MapReduce задач. | конспект |
3 | 27.09 | Лекция | Advanced MapReduce. Расширение функциональности MapReduce: Combiner, Partitioner, Comparator. Использование Combiner для подсчета статистик: поиск среднего значения и медианы по ключу. Конфигурации Partitioner для агрегации биграмм и ip-адресов. Расширенные возможности сортировки при помощи Comparator. Передача данных и способы компрессии данных при выполнении MapReduce задач. Объединение датасетов: Map-Side Join, Reduce-Side Join. Расширенный контроль за порядком поступления данных: Secondary Sort. Интерфейс командной строки YARN: статус задачи, принудительное завершение вычислительных задач. Работа с неравномерно распределенными значениями ключей (Skew). Вычисление коэффициента ускорения работы MapReduce задач. | |
3 | 27.09 | Семинар | Решение задач на MapSide Join, Reduce-Side Join. Использование объединений для вычисления аналитики сегментов рынка. | конспект |
4 | 04.10 | Лекция | Hive: мотивация, языковая модель. Проблема смещения данных в обработке больших данных. Применение SQL в IT индустрии. Сравнение решений Hive и MapReduce на примере задач анализа логов. Практика SQL: агрегация данных, фильтрация данных, сортировка, объединение таблиц. Архитектура Hive: Metastore + Hadoop + HDFS. Язык определения данных в Hive (Hive DDL): типы таблиц, разделители. Язык управления данными в Hive (Hive DML): загрузка данных, перезапись данных, CTAS. Парсер данных SerDe. | |
4 | 04.10 | Семинар | Работа с Hive: создание баз данных, таблиц. Работа с external таблицами, конструкция INSERT OVERWRITE для работы с external таблицами. Парсинг логов, задание типов в таблицах | |
5 | 11.10 | Лекция | Hive, расширенные возможности. Hive View: особенности, преимущества и недостатки. Пользовательские функции (UDF), пользовательские агрегирующие функции (UDAF), пользовательские функции для генерации таблиц (UDTF). Hive Streaming. Hive Partitioning, Bucketing and Sampling. Особенности Join в Hive. Исправление проблемы смещения в Hive. Поколоночное хранение в Hive (RCFile, ORC, Parquet) | презентация |
5 | 11.10 | Семинар | Hive, расширенные возможности. Бенчмарк ORC vs Textfile. Пользовательские функции (UDF), пользовательские функции для генерации таблиц (UDTF). Hive Streaming, сэмплирование данных | конспект |
Домашние задания
# | Тип задания | Тема | Дата выдачи | Дедлайн | Количество баллов | Ссылка |
---|---|---|---|---|---|---|
1 | Тест | HDFS | 13.09 | 19.09 23:59 | 5 | http://rebrand.ly/big_data_hse_fall_2018_quiz_1_Urgz1 |
1 | Практическое задание | HDFS | 06.09 | 19.09 23:59 | 100 | http://rebrand.ly/big_data_hse_fall_2018_hw_1 |
2 | Тест | MapReduce. Основы | 20.09 | 26.09 23:59 | 5 | https://rebrand.ly/big_data_hse_fall_2018_quiz_2_FMHq |
2 | Практическое задание | MapReduce. Основы | 20.09 | 26.09 23:59 | 50 | Задание |
2 | Бонусная задача | MapReduce. Основы | 20.09 | 23.09 23:59 | 20 | |
3 | Тест | MapReduce. Оптимизация | 27.09 | 03.10 23:59 | 5 | https://rebrand.ly/big_data_hse_fall_2018_quiz_3_oMku |
3 | Практическое задание | MapReduce. Объединения | 30.09 | 09.10 23:59 | 50 | Задание |
4 | Тест | Hive 1 | 04.10 | 10.10 23:59 | 5 | Тест |
4 | Практическое задание | Hive 1 | 07.10 | 15.10 23:59 | 50 |
Материалы
1. Полные материалы лекций, семинаров и домашних заданий доступны по ссылке: http://rebrand.ly/big_data_hse_fall_2018_materials 2.