Курс рассчитан на Data инженеров, желающих глубже изучить Spark, а попутно также Hadoop и Hive.
На курсе вы изучите следующие основные темы:
- Hadoop (основные компоненты, дистрибутивы вендоров)
- Архитектура HDFS
- Архитектура YARN
- Форматы данных
- Spark
- Spark Streaming и Flink
- Hive
- Оркестрация, Мониторинг и CI/CD
и т.д.
Научитесь применять все это на практике и закрепите с помощью интересных и сложных домашних заданий и выпускного проекта.
После прохождения курса вы сможете:
- Использовать Hadoop для обработки данных
- Взаимодействовать с его компонентами через консольные клиенты и API
- Работать со слабоструктурированными данными в Hive
- Писать и оптимизировать приложения на Spark
- Писать тесты для Spark-приложений
- Использовать Spark для обработки табличных, потоковых, гео-данных и даже графов
- Настраивать CI и мониторинг Spark-приложений.
Программа обучения:
Модуль 1. Scala
- Тема 1. Основы Scala
- Тема 2. Сборка проектов на Scala
Модуль 2. Hadoop
- Тема 3. Hadoop
- Тема 4. HDFS
- Тема 5. YARN
- Тема 6. Форматы данных
Модуль 3. Spark
- Тема 7. Архитектура приложения Spark
- Тема 8. RDD/Dataframe/Dataset
- Тема 9. Методы оптимизации приложений Spark
- Тема 10. Написание коннекторов для Spark
- Тема 11. Тестирование приложений Spark
- Тема 12. Spark ML
Модуль 4. Streaming
- Тема 13. Kafka
- Тема Spark Streaming
- Тема Structured Streaming
- Тема 16. Flink — часть 1
- Тема 17. Flink — часть 2
- Тема 18. Q&A
Модуль 5. Apache Hive
- Тема 19. Обзор Hive
- Тема 20. HiveQL
Модуль 6. Обслуживающие системы
- Тема 21. Оркестрация процессов обработки данных
- Тема 22. Мониторинг и логирование для Spark-приложений
- Тема 23. CI/CD для Spark и Hive
Модуль 7. Проектная работа
- Тема 24. Выбор темы и организация проектной работы
- Тема 25. Консультация по проектам и домашним заданиям
- Тема 26. Защита проектных работ
Выпускной проект
В качестве выпускного проекта будет построена ETL-система на основе Hadoop, включающая в себя:
- Загрузку данных из источников
- Простой Data Lake на основе этих данных с использованием Hive
- Лямбда-архитектуру для реалтайм-аналитики на основе Spark
После курса Вы:
- заберете с собой полный комплект обучающих материалов: видеозаписи всех вебинаров, презентации к занятиям, а также решение задач и проектов в виде кода на github и другие дополнительные материалы;
- получите сертификат о прохождении курса;
- получите приглашение пройти собеседование в компаниях-партнерах (эту возможность получают самые успешные студенты).
3-дневный практический курс для разработчиков Apache Spark, дата инженеров и аналитиков данных, Data Scientist’ов и других специалистов Big Data, которые используют Spark SQL, потоковую обработку Spark Streaming, машинное обучение MLLib и построение графов Spark GraphX.
Программа курса:
- Обзор Apache Spark
Архитектура Обзор компонентов Spark и их назначения - Основные абстракции Apache Spark
Трансформации и действия, Lazy Evaluation - Знакомство с Dataframes
Structured API и основная абстракция Spark – Dataframe - Знакомство со Spark RDD
Low Level API, использование Resilient Distributed Dataset - Apache Spark SQL
- Получение данных из SQL-источников и обработка данных с помощью Spark SQL
- Отправка данных в SQL СУБД и работа с Hive QL
- Spark SQL и Hadoop
- Работа с источниками данных
- Ввод и вывод в Apache Spark
- Работа с файлами и базами данных
- Производительность и параллелизм в Apache Spark
Планы выполнения запроса: логические и физические - Конфигурирование Apache Spark
Принципы конфигурирования и основные настройки - Spark Streaming
- Разница работы в режимах OLAP и OLTP. Основной workflow
- Виды Spark Streams. Особенности исполнения streaming кода
- Checkpoint в Spark Streaming
- GraphX
- Задачи графов в программировании. Место графов в модели распределенных вычислений
- Представление графов в GraphX. Операции с графами
- MLLib
- Задачи машинного обучения и проблематика больших данных
- Основные возможности Spark MLLib
- Обработка слабоструктурированных данных
- Работа с JSON файлами и строками
- Обработка информации, представленной в виде XML.
Целевая аудитория:
Специалисты, аналитики данных и разработчики, желающие получить опыт настройки и использования компонентов Apache Spark.
Успешное окончание обучения по программе курса позволит специалистам:
- Использовать Spark Streaming для создания приложений потоковой обработки данных
- Понимать разницу использования различных форматов хранения данных и использования RDD, dataframes и datasets
- Обращаться к данным с использование SQL или Hive QL
- Настраивать и использовать компонент GraphX.
Цель курса:
Совершенствование знаний и навыков, необходимых для анализа данных с помощью Apache Spark.
Расписание:
- Экосистема Apache Spark — Spark RDD
- Архитектура Spark. Принципы работы Resilent Data Distribution
- Обзор компонентов Spark и их назначения
- Конфигурация Spark из Java. Запуск на одной или нескольких машинах. Запуск поверх hadoop
- Основные классы и базовый workflow — Spark RDD
- Spark core- работа с аккумуляторами и переменными среды
- Apache Spark SQL
- Расширение базовой системы классов- DataSet и DataFrame
- Получение данных из SQL-источников с помощью Spark SQL
- Отправка данных в SQL СУБД и работа с Hive QL
- Spark SQL и Hadoop
- Планы выполнения. Logical и physical планы. Настройки планов выполнения
- Spark Streaming
- Разница работы в режимах OLAP и OLTP. Основной workflow
- Виды Spark Stream-ов. Особенности исполнения streaming кода
- Windows в Spark Streaming
- Кеширование в Spark Streaming
- Checkpoint-ы в Spark Streaming
- GraphX
- Задачи графов в программировании. Место графов в модели распределенных вычислений
- Представление графов в GraphX. Создание графов
- Операции с графами в GraphX
- Выбор модели распределения графа в GraphX.
Курсы предназначены для разработчиков распределенных приложений, инженеров больших данных, аналитиков Big Data, DataOps и DevOps-инженерам, а также специалистов по Data Science и Machine Learning, которые хотят получить следующие знания и навыки:
- Познакомиться с основными функциональными возможностями и базовыми компонентами Apache Spark Core для анализа больших данных и разработки распределенных приложений
- Понять особенности потоковой и микро-пакетной обработки данных в режиме near real-time со Spark Streaming
- Освоить аналитику больших данных с помощью стандартного языка структурированных запросов на Spark SQL
- Изучить графовые алгоритмы обработки информации, парадигму Pregel и ее представление в Spark Graphframe
- Разобраться с реализацией нейросетевых алгоритмов и других методов Machine Learning в Spark MLLib
- Знать методы интеграции Spark-приложений с другими Big Data системами и внешними источниками данных; уметь строить эффективные конвейеры обработки больших данных (Pipelines) на базе Apache Spark, Airflow, Livy и других технологий Big Data
- Понимать способы и возможности оптимизации каждого компонента платформы Apache Spark, от производительности кластера до SQL-запросов и накладных расходов в Big Data Pipeline.
Курсы:
- Анализ данных с Apache Spark
- Core Spark — основы для разработчиков
- Потоковая обработка в Apache Spark
- Машинное обучение в Apache Spark
- Графовые алгоритмы в Apache Spark.