Методы распределенной обработки больших объемов данных в Hadoop

Санкт-Петербург, весна 2020

Описание

О курсе

В практических задачах довольно часто приходится сталкиваться с так называемыми большими данными, то есть данными, которые сложно и долго обрабатывать на одной машине. Большое количество технологий для распределенной обработки таких данных создано вокруг одной экосистемы - Hadoop.

Доступность больших объемов данных открывает прекрасные возможости для использования в компьютерных приложениях и научных исследованиях. Такие вычисления требуют модели программирования, которая позволяла бы относительно легко распределять вычислительные задачи по большим компьютерных кластерам. И одной из них является модель MapReduce. Реализация MapReduce в открытом проекте Hadoop является наиболее популярной с точки зрения использования. Преимущества использования Hadoop включают в себя простоту применения для разработчиков, возможность масштабирования на объемы в петабайты данных и тысячи серверов, высокая степень отказоустойчивости. Hadoop является ключевым компонентом для стека технологий, которые обеспечивают работу приложений, ориентированных на интенсивную обработку больших объемов данных.

Цель курса

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

Пререквизиты

  • Понимание основных алгоритмов и структур данных;

  • Базовые знания Java, Python.

Получаемые навыки

После прохождения курса студенты освоят:

— общие знания относительно способов хранения и методов обработки больших объемов данных

— общие знания относительно работы распределенных систем в контексте фреймворка Hadoop

— практические навыки разработки приложений используя программную модель MapReduce

Контроль знаний

В течение семестра будет выдано 4 домашних задания, каждое оценивается в 25 баллов. Оценки:

  • 37 - 49 баллов - удовлетворительно

  • 50 - 64 баллов - хорошо

  • 65 - 75 баллов - отлично.

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

Список лекций

Введение в BigData, Hadoop

Вводная лекция с описанием курса, небольшим введением в историю распределенных систем обработки данных. Феномен BigData, тренды в индустрии, новые возможности для IT-бизнеса, примеры и сферы применения, облачные вычисления, парадигма MapReduce, история появления Hadoop.

Файловая система HDFS

Архитектура, хранение и доступ к данным, репликация, отказоустойчивость, API, примеры использования

Spark Streaming

В этой лекции разбираем, как работает Spark Streaming и Kafka.