О чём курс
Этот тренинг дает представление об устройстве Apache Hadoop и методах разработки приложений, обрабатывающих данные на его основе. Участники познакомятся с HDFS – стандартом де-факто для долговременного надежного хранения больших объемов данных фреймворком YARN, управляющим параллельным выполнением приложений на кластерети сопутствующими проектами, составляющими экосистему Hadoop: Hive, Spark, HBase.
Цели
- Понимать ключевые концепции и архитектуру Hadoop;
- Получить представление об экосистеме, сложившейся вокруг Hadoop, и ее ключевых компонентах;
- Уметь записывать и читать данные в/из HDFS;
- Понимать устройство MapReduce-программ;
- Уметь обращаться к табличным данным с использованием Hive;
- Уметь обращаться к табличным данным с использованием Spark SQL/DataFrame в пакетном режиме;
- Уметь обрабатывать потоки данных с использованием Spark Structured Streaming;
- Уметь использовать HBase для низколатентного сохранения и чтения данных.
Целевая аудитория
Разработчики, архитекторы, разработчики баз данных, администраторы баз данных.
Предварительная подготовка
Умение работать в командной оболочке Unix/Linux (bash). Опыт работы с базами данных желателен, но не обязателен.
Темы курса
01
1. Основные концепции современной архитектуры данных (теория – 1 ч.).
⠀
02
2. HDFS: Hadoop Distributed File System (теория – 2 ч., практика – 1 ч.)
- Архитектура, репликация, чтение и запись данных, команды HDFS.
-
Практика: подключение к кластеру, работа с файловой системой из shell и Hue.
03
3. Парадигма MapReduce и ее реализация на Java и в Hadoop Streaming (теория – 2 ч., практика – 1 ч.).
- Практика: запуск приложений.
04
4. YARN: управление распределенным выполнением приложений (теория – 1 ч., практика – 1 ч.)
- Архитектура YARN, запуск приложений в YARN.
-
Практика: запуск приложений и наблюдение за кластером через UI.
05
5. Введение в Hive (теория – 2 ч., практика – 3 ч.).
- Архитектура, метаданные таблиц, форматы файлов, язык запросов HiveQL.
-
Практика (Hue, hive, beeline, Tez UI): создание таблиц, чтение и запись CSV, Parquet, ORC, партиционирование, SQL-запросы с агрегацией и соединениями.
06
6. Введение в Spark (теория – 2 ч., практика – 3 ч.).
- DataFrame/SQL, метаданные, форматы файлов, источники данных, RDD.
-
Практика (Zeppelin, Spark UI): чтение и запись из БД (JDBC), CSV, Parquet, партиционирование, SQL-запросы с агрегацией и соединениями, планы выполнения запросов, мониторинг.
07
7. Введение в потоковую обработку данных (теория – 2 ч., практика – 1 ч.).
- Spark Streaming, Spark Structured Streaming, Flink.
-
Практика: чтение/обработка/запись потоков между Kafka, реляционной БД и файловой системой.
08
8. Введение в HBase (теория – 1 ч., практика – 1 ч.).
- Архитектура, язык запросов.
-
Практика (HBase shell): запись и чтение данных.
09
Всего: теория – 13 ч. (54%), практика – 11 ч. (46%)