Содержание

1. Введение в Большие Данные (Big Data). Распределенные файловые системы, Workshop

content
Вводная часть: знакомство (задачи, оценки, дедлайны), подробности курса. Распределенные файловые системы (GFS, HDFS). Их составляющие, достоинства, недостатки и сфера применения. Чтение и запись в HDFS. HDFS APIs: Web, shell

2. Hadoop экосистема, MapReduce и не только

content
Hadoop Streaming. Элементы Hadoop-задачи (Mapper, reducer, combiner, partitioner, comparator)

3. Оптимизация MapReduce вычислений

content
Приложения с несколькими Hadoop-задачами. Тюнинг Hadoop-job (настройка партиционирования, сложные ключи, uber jobs). Задачи с несколькими входами. Joins в Hadoop

4. SQL поверх больших данных (Hive)

content
Архитектура Hive, виды таблиц, форматы хранения данных. Трансляция Hive-запросов в MapReduce-задачи. Сериализация и десериализация. Тюнинг Join'ов в Hive. Партиционирование, бакетирование, семплирование. User defined functions, Hive Streaming

5. Модель вычислений Spark: RDD

content
Схема выполнения задачи в Spark. Основные термины Spark (job, task, stage). Представление вычислений в виде графа. Spark Python API. Spark RDD API. Broadcast-сообщения и счетчики

6. Spark DataFrames, Spark SQL

content
Взаимодействие Hive и Spark SQL. Отличия DF от RDD

7. Модель вычислений Spark: RDD

content
Spark on YARN. Типы stage в Spark. Оптимизация операции shuffle. Настройка Garbage Collection, тюнинг потребления памяти

8. Потоковая обработка данных (Kafka, Spark Streaming)

content
Подходы к Realtime-обработке. Гарантии обработки. Переход от одной гарантии к другой. Архитектуры "Лямбда" и "Каппа". Spark Streaming vs. Spark RDD, Spark Structured Streaming vs. Spark DataFrames, DStream. Архитектура Kafka, Kafka Streams, репликация в Kafka. Отличие Kafka от классических очередей. Семантики доставки сообщений. Сжатие данных в kafka. Синхронная и асинхронная репликация

9. NoSQL поверх больших данных: HBase, Cassandra

content
Отличия Key-value хранилищ от Реляционных БД. Архитектуры HBase и Cassandra. Их различия. Обеспечение надёжности и высокодоступности в Key-value хранилищах. Компактификация и её виды. CQLSH, HBase shell. Взаимодействие хранилищ (Cassandra и Hbase) со Spark и Hadoop