Методы и системы обработки больших данных (осень 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.