• A
  • A
  • A
  • АБВ
  • АБВ
  • АБВ
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта

Бакалаврская программа «Прикладная математика и информатика»

Методы и системы обработки больших данных

2020/2021
Учебный год
RUS
Обучение ведется на русском языке
5
Кредиты
Статус:
Курс по выбору
Когда читается:
4-й курс, 1, 2 модуль

Преподаватель


Ивченко Олег Николаевич

Программа дисциплины

Аннотация

Данный курс призван дать фундаментальные знания в области хранения и обработки данных, для работы с которыми недостаточно одной машины со стандартными аппаратными характеристиками. Примерами таких данных могут быть логи пользователей определённого сервиса, коллекции медиа-файлов или статей Википедии. Сейчас эти подходы активно применяются в компаниях, для которых критично провести анализ больших объёмов данных в кратчайшие сроки. Это могут быть компании, владеющие: - поисковиками (например, Google, Яндекс, Microsoft, Yahoo! и др.), - социальными сетями и блогами (Facebook, Twitter, ВКонтакте, LinkedIn и др.), - рекомендательными сервисами (например, Кинопоиск от Яндекс). Практическую часть данного курса составляют программы, разрабатываемые с использованием фреймворков экосистемы Hadoop.
Цель освоения дисциплины

Цель освоения дисциплины

  • Овладение алгоритмами, парадигмами и инструментами для пакетной и потоковой обработки больших объёмов данных
  • Приобретение навыков проектирования архитектур, применения инструментов разработки для анализа больших объемов данных
Планируемые результаты обучения

Планируемые результаты обучения

  • Знать типы хранилищ больших объёмов данных и их внутреннее устройство
  • Применять базовые навыки в языке Java для разработки распределённых приложений анализа больших данных
  • Уметь решать задачи статистики, задачи поиска и индексации, задачи машинного обучения на Hadoop кластере
  • Понимать каким образом SQL-выражения транслируются в MapReduce-задания и уметь применять эти знания в реальных задачах
  • Знать подходы к потоковой и пакетной обработке данных
  • Уметь проектировать базы данных в условиях большого количества разреженных данных
  • Уметь диагностировать и решать базовые проблемы инфраструктуры обработки больших данных
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Введение
    Вводное занятие. Исторический экскурс в большие данные
  • Распределённые файловые системы. HDFS
    Распределённые файловые системы (GFS, HDFS). Её составляющие. Их достоинства, недостатки и сфера применения. Чтение и запись в HDFS. HDFS APIs: WebUI, shell, Java API
  • Java для BigData-инженеров
    Java для BigData-инженеров. Синтаксис Java. Классы и пакеты, статические методы и экземпляры классов. Области видимости полей и методов. Generics.
  • MapReduce
    Парадигма MapReduce. Основная идея, формальное описание. Обзор реализаций. Сравнение с MPI. Hadoop. Схема его работы, роли серверов в Hadoop-кластере. Элементы MapReduce-задачи. Hadoop Java API. Цепочки Hadoop-задач Дополнительные элементы MapReduce-задачи (combiner, partitioner, comparator). Счётчикик в Hadoop. Форматы хранения файлов в Hadoop. Паттерны хранения составных ключей-значений в MapReduce (pairs, stripes). Hadoop Streaming. Joins в MapReduce и их типы. Планировщик задач YARN.
  • SQL поверх больших данных
    SQL поверх BigData. Фреймворк Hive Оптимизации Hive: MapJoins, Sampling, партиционирование, бакетирование. Обработка несбалансированных данных.
  • Пакетная обработка данных. Apache Spark
    MapReduce vs. Spark. Компоненты Spark и архитектура Spark-задачи. Spark RDD API. Кеширование RDD, итеративные вычисления, actions & transformations. Режимы работы Spark Spark DataFrame: особенности и сравнение с Pandas DataFrame. Spark SQL + Hive. Агрегирование данных в Spark DataFrame. Оптимизации Spark.
  • Real-time обработка данных
    Real-time обработка данных. Семантики доставки и как их реализовать. Архитектуры Lambda и Kappa Spark Streaming. Stateful и Stateless подходы к обработке данных. Spark Structured Streaming и его отличие от Spark Streaming. Распределенная очередь для BigData. Apache Kafka. Kafka Strems, отличие от Spark Streaming.
  • NoSQL и большие данные
    HBase. Известные Key-value хранилища в больших данных. Основные компоненты BigTable-подобных систем и их назначение, отличие от реляционных БД. Чтение, запись и хранение данных в HBase. Minor- и major-компактификация. Надёжность и отказоустойчивость в HBase. Cassandra. Отличие архитектуры HBase от Сassandra. Чтение и запись данных. Отказоустойчивость. Примеры применения HBase и Cassandra.
  • Администрирование сервисов обработки больших данных
    Основы администрирования сервисов. Системы мониторинга в BigData.
Элементы контроля

Элементы контроля

  • неблокирующий Домашнее задание 1
  • неблокирующий Контрольная работа 1
  • неблокирующий Работа на семинарах 1
  • неблокирующий Письменный экзамен
  • неблокирующий Домашнее задание 2
  • неблокирующий Домашнее задание 3
  • неблокирующий Домашнее задание 4
  • неблокирующий Домашнее задание 5
  • неблокирующий Домашнее задание 6
  • неблокирующий Контрольная работа 2
  • неблокирующий Контрольная работа 3
  • неблокирующий Контрольная работа 4
  • неблокирующий Работа на семинарах 2
Промежуточная аттестация

Промежуточная аттестация

  • Промежуточная аттестация (2 модуль)
    Пром = Округление(0,3 * ДЗ 1 + 0,3 * ДЗ 2 + 0,1 * КР 1 + 0,1 * КР 2 + 0,2 * СЕМ 1) <br /> Окончательная оценка = Округление(0,4 * Пром + 0,2 * ДЗ3 + 0,15 * ДЗ4 + 0,1 * ДЗ5 + 0,15 * ДЗ6 + 0,05 * КР3+ 0,05 * КР4 + 0,1 * СЕМ2 + 0,2 ЭКЗ) - Окончательная оценка за дисциплину. Если "Окончательная оценка" > 10, ставится 10.
Список литературы

Список литературы

Рекомендуемая основная литература

  • Большие данные : революция, которая изменит то, как мы живем, работаем и мыслим, Майер-Шенбергер, В., 2014

Рекомендуемая дополнительная литература

  • Чак Лэм - Hadoop в действии. - Издательство "ДМК Пресс" - 2012 - 424с. - ISBN: 978-5-94074-785-7 - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/39997