Лекции Техносферы. 2-Й Семестр. Методы Распределенной Обработки Больших Объемов Данных В Hadoop

Представляем вашему вниманию новый курс лекций из Техносферы.

В нем представлено введение в Hadoop с упором на разработку и реализацию распределенных алгоритмов, которые можно использовать в различных областях: обработка текста, обработка графов, связанные данные и т. д. Также рассматриваются различные компоненты платформы Hadoop и модели программирования.

Цель курса — познакомить студентов со стеком технологий Hadoop, используемым для хранения, доступа и обработки больших объемов данных.

Преподаватели курса: Алексей Романенко, Михаил Фирулик, Николай Анохин.



Лекция 1. Введение в большие данные и MapReduce

Что такое «большие данные».

История этого явления.

Необходимые знания и навыки для работы с большими данными.

Что такое Hadoop и где он используется? Что такое «облачные вычисления», история возникновения и развития технологий.

Веб 2.0. Вычисление как услуга (служебные вычисления).

Виртуализация.

Инфраструктура как услуга (IaaS).

Проблемы параллелизма.

Управление несколькими работниками.

Дата-центры и масштабируемость.

Типичные задачи Big Data. MapReduce: что это такое, примеры.

Распределенная файловая система.

Файловая система Google. HDFS как клон GFS, ее архитектура.



Лекция 2. Основы Hadoop

История Hadoop и его приложений.

Хранение данных, кластер Hadoop. Системные принципы.

Горизонтальное масштабирование вместо вертикального.

Код к данным.

Сбои оборудования.

Инкапсулируйте сложность реализации.

Сравнение с СУБД (RDBMS).

? Косистема Hadoop. Дистрибутивы, производители, поддерживаемые ОС.

Полезная литература.

Hadoop на виртуальной машине Cloudera. Импортируйте и запустите виртуальную машину.

Копирование файлов в HDFS. Запуск задачи MapReduce в Hadoop. Проверка результатов.



Лекция 3. Распределенная файловая система HDFS

Задачи, для которых HDFS подходит и не подходит. Демоны HDFS. Файлы и блоки.

Блокировать репликацию.

Клиенты, Namenode и Datanodes. Чтение и запись файла.

Namenode: использование памяти.

Отказоустойчивость в Namenode. Доступ к HDFS, в том числе через прокси.

Команды оболочки.

Копирование данных в оболочку, удаление и статистика.

команда фск.

Права в HDFS. Команда ДФСАдмин.

Балансир.

API файловой системы Java. Реализация файловой системы.

Объект конфигурации.

Чтение данных из файла и запись в него.

Замены (подстановка).



Лекция 4. MapReduce в Hadoop (введение)

Рабочий процесс MapReduce. Hadoop MapReduce и HDFS. Выполнение MapReduce. Архитектура и работа первой версии MapReduce. Hadoop API (типы, классы).

WordCount (задание настройки, картограф, редуктор).

Редуктор как объединитель.

Типы данных в Hadoop. Входной Сплит, Входной Формат, Выходной Формат. Перемешивание и сортировка в Hadoop. Запуск и отладка задач.

Потоковая передача Hadoop. Потоковая передача в MapReduce.

Лекция 5. MapReduce в Hadoop (алгоритмы)

WordCount (базовый уровень, объединение в сопоставителе, среднее, разные значения).

Взаимная корреляция (пары, полосы).

Реляционные шаблоны MapReduce (выбор, проекция, объединение, пересечение, разница, симметричная разница, GroupBy и агрегация, перераспределение соединения, реплицированное соединение, TF-IDF).



Лекция 6. MapReduce в Hadoop (графики)

Граф как структура данных.

Задачи и проблемы на графиках.

Графики и MapReduce. Матрица смежности.

Списки смежности.

Нахождение кратчайшего пути.

Алгоритм Дейкстры.

Параллельная BFS: алгоритм, псевдокод, итерации, критерий завершения, сравнение с Дейкстером.

Взвешивание BFS: края, критерии завершения, сложности.

Графики и MapReduce. PageRank: что это такое, где используется.

Расчет PageRank, упрощения для него.

PageRank на MapReduce. Полный PageRank, конвергенция.

Другие классы задач на графах.

Основные проблемы графовых алгоритмов.

Улучшенное разделение.

Шаблон проектирования Шимми.



Лекция 7. Введение в Pig и Hive

Что такое Свинья и для чего она используется.

Pig и MapReduce. Основные особенности.

Компоненты.

Режимы исполнения.

Запуск Свиньи.

Свиная латынь.

Операции DUMP и STORE. Большой объем данных.

Команда ЗАГРУЗИТЬ.

Типы данных для схемы.

Pig Latin (инструменты диагностики, группировка, внутренняя и внешняя сумка, FOREACH, функция TOKENIZE, оператор FLATTEN, WordCount, внутреннее и внешнее соединение).

Hive (архитектура, интерфейс, концепция, создание таблиц, загрузка данных, выполнение запросов, внутреннее и внешнее соединение, WordCount).



Лекция 8. NoSQL, HBase, Cassandra

Масштабирование.

Масштабирование СУБД (master/slave, шардинг).

Что такое NoSQL. «Динамо» и BigTable. Теория КАП.

Модель согласованности.

Окончательная согласованность.

NoSQL-типы.

Ключ/значение.

Без схемы.

Что такое HBase, когда его использовать, а когда не использовать.

Модель данных HBase. Колонна Семья.

Временная метка.

Клетки.

Архитектура и компоненты HBase. Распределение ключей в RegionServer. Хранение данных в HBase. Хозяин и смотритель зоопарка.

Доступ к HBase. Колонка Family как единица хранения.

Запросить данные из HBase. Что такое Кассандра.

Типичный NoSQL API. Модель данных.

Кассандра и последовательность.



Лекция 9. ZooKeeper

Что такое ZooKeeper, его место в экосистеме Hadoop. Неправда о распределенных вычислениях.

Схема стандартной распределенной системы.

Сложности в координации распределенных систем.

Типичные проблемы с координацией.

Принципы разработки ZooKeeper. Модель данных ZooKeeper. флаги znode. Сессии.

Клиентский API. Примитивы (конфигурация, членство в группе, простые блокировки, выбор лидера, блокировка без стадного эффекта).

Архитектура ZooKeeper. ZooKeeper БД.

ЗАБ.

Обработчик запроса.



Лекция 10. Апач-махут

Что такое Апач Махаут? Реализованные алгоритмы.

Классификация (Наивный Байес, k-средние).

Рекомендации (совместная фильтрация, на основе элементов, алгоритм Slop One, Apache.teste, на основе элементов с Hadoop, Mahout с Spark, рекомендации по совместному появлению).



Лекция 11. Вычислительная модель Прегеля

Web 2.0 и социальные графики.

Примеры графиков.

Проблемы обработки графов.

Инструменты для обработки больших графиков.

Прегель (что это, концепция).

Вертекс.

Метод вычисления.

Комбинатор.

Агрегатор.

Изменение графика.

Жираф (архитектура, исполнение программы, отказоустойчивость).

Рейтинг страницы.

Кратчайшие пути.

Производительность.



Лекция 12. Искра

Мотивация.

РДД.

Модель программного обеспечения Spark. Функции высшего порядка.

Преобразование RDD (карта, сокращение, объединение, совместная группа, объединение и выборка).

Действия РДД.

ИскраКонтекст. Создание РДД.

Общие переменные (трансляция, аккумулятор).

Двигатель Apache Spark. Программный интерфейс Spark. Родословная.

Зависимости между RDD (Узкие, Широкие).

Планируйте задачи.

Отказоустойчивость RDD. Управление памятью.

Приложения, которые подходят и не подходят для RDD.

Лекция 13. ПРЯЖА

Что такое ПРЯЖА и для чего она нужна? YARN и старый MapReduce. Компоненты MapReduce на YARN. Выполнение задачи MR на YARN. Запуск задачи MapReduce. Инициализация задачи.

Инициализация MRAppMaster. MRAppMaster и Uber Job. Назначение задач.

Управление памятью (создание контейнеров для запуска задач, управление памятью для каждой задачи, кучи JVM, виртуальной памяти).

Выполнение задач.

Обновления статуса.

Веб-интерфейс диспетчера ресурсов.

Сбои выполнения задач.

Мастер приложений выходит из строя.

Менеджер узлов выходит из строя.

Менеджер ресурсов выходит из строя.

Планируйте задачи.



Лекция 14. Hadoop в поиске Mail.Ru

История внедрения, Поиск компонентов.

Почему Хадуп? Почему HBase? Поисковый робот (Старая школа, Новое поколение H).

Что мы храним в HBase? Работа с Хадупом.

Трудности перевода.

Ээксплуатация (ганглии).

Полезные уроки Hadoop и HBase.

Предыдущие выпуски

Технопарк: Техносфера: Подписаться YouTube канал Технопарк и Техносфера! Теги: #математика #Высокая производительность #Большие данные #Hadoop #mail.ru #техносфера #лекции о техносфере
Вместе с данным постом часто просматривают: