Архитектура данных с Apache Spark
Проектирование и реализация ETL-процессов для хранилищ данных с Apache Spark, разработка и оптимизация Spark-приложений, оркестрация заданий с AirFlow: практический курс для дата-инженеров.
О продукте:
Архитектура данных — это комплексное понятие, которое охватывает не только технологии их хранения. Оно также включает вопросы сбора, подготовки и загрузки данных в корпоративные озера и хранилища. Чтобы бизнес-пользователи могли получить нужные данные согласно заданным SLA, все ETL/ELT-процессы должны работать максимально эффективно, т.е. быстро и с высокой пропускной способностью. Эти задачи отлично решают специализированные вычислительные фреймворки, которые позволяют создавать устойчивые высоконагруженные приложения для распределенной обработки данных. Сегодня самым популярным таким движком является Apache Spark — фреймворк с открытым исходным кодом для распределённой пакетной и потоковой обработки неструктурированных и слабоструктурированных данных. Он входит в экосистему проектов Apache Hadoop и поддерживает вычислительную модель MapReduce, однако, реализует ее намного быстрее, храня промежуточные результаты вычислений в памяти без записи на диск.
Благодаря поддержке распространенных систем хранения данных (HDFS, HBase, Hive, Cassandra, Amazon S3), а также интеграции с реляционными и нереляционными СУБД и потоковыми платформами передачи событий (Kafka, RabbitMQ и пр.), Spark позволяет спроектировать и реализовать надежную архитектуру данных с высокой скоростью и большой пропускной способностью. А наличие богатых API-интерфейсов для нескольких языков программирования (Java, Scala, Python и R) дает возможность написать эффективные ETL/ELT-конвейеры для корпоративных озер и хранилищ данных.
Поэтому умение использовать Apache Spark для построения отказоустойчивой архитектуры хранения и аналитики больших данных является очень востребованной компетенцией для современного дата-инженера и проектировщика DWH/Data Lake. Все практические приемы и лучшие практики применения этого фреймворка для разработки приложений сбора, подготовки, преобразований и загрузки больших данных в корпоративные озера и хранилища разбираются на нашем курсе «SPAD: Архитектура данных с Apache Spark».
Аудитория:
- Начинающие инженеры данных или инженеры данных с опытом, которые хотят изучить Spark Scala API;
- Аналитики данных, которые хотят изучить Spark Scala API;
Уровень подготовки:
- Базовые знания Python или любого другого языка;
- Базовые знания Linux;
О курсе:
Офлайн-обучение или онлайн-курс проходят в формате интерактивного семинара: даже в дистанционном режиме с вами занимается живой преподаватель — рассказывает теорию, дает практические задания и проверяет результаты выполнения. В качестве примеров рассматриваются реальные бизнес-кейсы и лучшие практики разработки высоконагруженных приложений для анализа больших данных
Продолжительность курса: 28 ак.часов (7 учебных дней по 4 ак.часа)
Соотношение теории к практике: 50/50
Инструментальные средства: для практических занятий используются бесплатные среды для разработки (Jupyter Notebook и IDEA) и российские решения (ArenaData).
Цель курса: освоить терминологию архитектур хранилищ данных, разобрать архитектуру Spark, научиться писать и оптимизировать Spark приложения на языке scala.
Программа курса «Архитектура данных с Apache Spark»
1. Архитектуры хранилищ данных и Hadoop
-
- Изучение теоретических основ Big Data и Hadoop
- Схема звезды и снежинки
- Изучение DWH
- Изучение DataLake
- Изучение Data Vault
2. Разработка Spark-приложений на Scala
-
- Разбираем язык Scala
- Теоретические основы
- Типы данных.
- Базовый синтаксис
- ООП
- Работа с зависимостями (sbt)
- Практика в среде IDEA
3. Основы Spark
-
- Введение в основные понятия и архитектуру
- Основные структуры данных
- Операции и actions
- Практика в среде Jupyter Notebook – инициализация и конфиги
4. Операции на Spark
-
- Чтение данных из разных источников
- Базовые трансформации
- Более продвинутые операции и UDF
- Запись данных
- Запуск приложения в среде кластера
- Практика в среде Jupyter Notebook и IDEA – разбираем операции и работаем с данными
5. Оптимизация Spark-приложения
-
- Базовые понятия – shuffling, broadcast, кэширование и так далее.
- Физическое исполнение операций соединения
- Разбор Spark UI
- Оптимизация Spark-приложений
- Практика в среде IDEA – запуск задач в среде кластера и оптимизация приложения
6. Оркестрация spark-приложений в Airflow
-
- Основы Apache Airflow
- Обзор основных операторов, создание Dag Airflow и запуск Spark-задачи
- Практика в среде ArenaData
Укажите e-mail, на который будет оправлена ссылка для скачивания файла:
Чему Вы научитесь:
В результате обучения вы приобретете базовые знания и навыки, необходимые для эффективной работы с большими объемами данных с использованием Apache Spark на языке scala, и сможете:
-
- Считывать данные из HDFS или СУБД с помощью Spark
- Разрабатывать Spark-приложения
- Оптимизировать Spark-приложения
- Использовать Scala-стек технологий для создания веб-сервисов
- Запускать Spark-приложения в среде Hadoop
- Оркестрировать Spark-приложения в Airflow
Что Вы получите:
Успешно окончив курс «Архитектура данных с Apache Spark» в нашем лицензированном учебном центре «Школа Больших Данных», вы получите удостоверение установленного образца, которое может засчитываться в качестве свидетельства о повышении квалификации.