Методы и системы обработки больших данных (осень 2018)
Материал из Wiki - Факультет компьютерных наук
Лектор: Алексей Драль, Александр Штохов
Семинаристы: Павел Ахтямов, Артем Козлов, Александр Штофов
Контакты: по всем организационным вопросам просьба писать на почту 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.