Управление разно-структурированными большими данными
Четверг, 18-30
Для магистров МГУ ВМиК.
Аннотация
В курсе рассматривается специальный вид стека для параллельных архитектур оперирования данными в аналитических приложениях Big Data. Параллельная архитектура оперирования данными основана на кластере узлов анализа данных, соединяемых быстрой сетью. Свободно распространяемая реализация такого стека (Hadoop) включает Hadoop Distributed File System, и поддержку парадигмы программирования map-reduce. Такие архитектуры поддерживают разно-структурированные данные, которые могут быть представлены в разнообразных моделях данных (структурированных, слабоструктурированных, неструктурированных).
В курсе рассматриваются основные идеи и подходы параллельных архитектур оперирования разно-структурированными данными. Рассматриваются вопросы реализации различных алгоритмов в среде map-reduce (таких как матрично-векторное умножение, поддержка SQL-подобных операций и операций реляционной алгебры), сравнения реализации таких операций с традиционными.
Map-reduce программирование в курсе изучается применяя собственно язык map-reduce Hadoop’a наряду с декларативными языками над Hadoop’ом (такими как PigLatin, Hive, Jaql (IBM)).
Также в курсе рассматривается перспективные методы анализа данных (в дополнении к MapReduce) в середе Hadoop 2.0, основанные на парадигме распределения ресурсов YARN (Yet Another Resource Negotiator). Yarn поддерживает выполнение любых программ, которые могут выполняться параллельно, и позволяет уйти от традиционной парадигмы программирования в Hadoop (map-shuffle-reduce). Это позволяет эффективно программировать сложные задачи, такие как ETL, обработку графов (Giraph), массивно параллельные алгоритмы машинного обучения и моделирования в среде Hadoop. Данная область является широко перспективной и открыта для множества исследований.
В комбинации с Hadoop’ом в курсе рассматриваются базы данных NoSQL (такие как HBase). Их использование совместно с Hadoop’ом изучается на примерах приложений. Также в курсе рассматриваются перспективные методы анализа данных (такие как методы машинного обучения) в среде Hadoop’а , на примере реализации алгоритмов на базе YARN и использования библиотек машинного обучения над Hadoop (Mahout). Все практически занятия проводятся на базе Hadoop в составе IBM BigInsights.
Программа курса
-
Введение в курс. Основные понятия курса. Введение в проблематику управления большими данными. Сравнение с традиционными подходами моделирования данных и манипулирования данными в СУБД
-
Введение в Hadoop, архитектура Hadoop, парадигма map-reduce, Архитектура стека компонентов Hadoop
-
Работа с HDFS, запуск простейших заданий MapReduce (подсчет слов), администрирование Hadoop
-
Алгоритмы известных операций в map-reduce (матрично-векторное умножение, реляционные операции и др.). Введение в теорию сложности алгоритмов для map-reduce
-
Языки программирования высокого уровня над Hadoop: Pig, Hive, JAQL, BigSQL
-
Разработка на Java собственного приложения map-reduce. Знакомство с языками Pig, Hive, Jaql.
-
Современные и перспективные около-Hadoop технологии (YARN, Spark, Giraph, BDAS, ...)
-
Введение в базы нетрадиционных моделей данных not only SQL (noSQL). Введение в базу данных с поколоночным хранением - HBase.
-
Методы и средства текстовой аналитики над большими данными.
-
Домашние задания
-
Вопросы к экзамену
Информация и вопросы по спецкурсу
к.т.н. Д.О. Брюхов
|