Методы и системы обработки больших данных (осень 2018) — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(Домашние задания)
(Программа занятий)
 
(не показано 11 промежуточных версии этого же участника)
Строка 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 || Лекция: Понятие "большие данные". Постановка задачи обработки и хранения больших данных. Примеры применения больших данных в IT индустрии. Основные проблемы в работе распределенных систем. Виды отказов узлов, связей между узлами. Устройство GFS, HDFS. Процесс восстановления HDFS. || [https://rebrand.ly/big_data_hse_fall_2018_lecture_01 презентация]
+
| 1 || 06.09 || Лекция || Понятие "большие данные". Постановка задачи обработки и хранения больших данных. Примеры применения больших данных в IT индустрии. Основные проблемы в работе распределенных систем. Виды отказов узлов, связей между узлами. Устройство GFS, HDFS. Процесс восстановления HDFS. || [https://rebrand.ly/big_data_hse_fall_2018_lecture_01 презентация]
 
|-
 
|-
| 1 || 06.09 || Семинар: Устройство HDFS кластера. HDFS CLI (интерфейс командной строки HDFS). Пользовательский интерфейс NameNode. Решение задач на вычисление объемов вычислительных ресурсов кластера. ||  
+
| 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 задач. || [https://rebrand.ly/big_data_hse_fall_2018_lecture_2 презентация]
+
| 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 || Семинар: Решение задач MapReduce Streaming: подсчет количества слов, стоп-слов в Википедии, парсинг логов Apache. Distributed Cache. Метод Монте-Карло и большие данные.  Отладка MapReduce задач. ||
+
| 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 || Лекция ||  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. Использование объединений для вычисления аналитики сегментов рынка. ||   
+
| 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 конспект]
 
|-
 
|-
 
 
|}
 
|}
  
Строка 55: Строка 62:
 
| 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 || 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 || 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 Тест]
 
|-
 
|-
| 2 || Бонусная задача || MapReduce. Основы || 20.09 || 23.09 23:59 || 20 ||
+
| 4 || Практическое задание || Hive 1 || 07.10 || 15.10 23:59 || 50 ||
 
|-
 
|-
 
|}
 
|}

Текущая версия на 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.