Основы Apache Spark
Этот тренинг дает представление об основных понятиях фреймворка Apache Spark и методах его использования для разработки приложений, обрабатывающих данные. Мы рассмотрим применение этого фреймворка для автоматической генерации кода и его распределенного выполнения. Слушатели научатся работать с файлами данных в различных форматах (CSV, Json, Avro, Parquet) в приложениях на Spark, используя SQL и DataFrame. Кроме того, речь пойдет о загрузке данных с внешних хранилищ и во внешние хранилища, такие как Cassandra, Kafka, Postgres и S3. Практические упражнения выполняются на языке Python с использованием веб-ноутбуков Jupyter.
26 ак.ч.
Онлайн
EAS-017
Основы Apache Spark
Записаться на курс
Длительность
26 ак.ч.
Локация
Онлайн
Код
EAS-017
Расписание и цены
17.03.2025 - 19.03.2025
45 000 руб.
* Для физических лиц действует скидка 10% Закажите корпоративное обучение с учетом ваших потребностей
Основы Apache Spark
Записаться на курс
Длительность
26 ак.ч.
Локация
Онлайн
Код
EAS-017
Расписание и цены
17.03.2025 - 19.03.2025
45 000 руб.
* Для физических лиц действует скидка 10% Закажите корпоративное обучение с учетом ваших потребностей

Описание

Apache Spark – один из самых распространенных инструментов, обеспечивающих гибкое масштабирование обработки данных в самых разных объемах. Если у вас есть кластер Spark, то достаточно один раз написать логику обработки данных на SQL с минимальным использованием кода на Python, Java или Scala и запустить приложение, независимо от того, хранится ли у вас 100 килобайт на одном узле или 100 терабайт на 100 узлах. Неизбежные сбои на узлах и сбои сетевой инфраструктуры в таких распределенных системах можно устранять с помощью того же Spark, перезапуская при необходимости неработающие процессы. Такие широкие возможности управления выполнением распределенных запросов в реляционных СУБД доступны либо при наличии большого бюджета (тогда как Apache Spark доступен бесплатно), либо при условии существенных трудозатрат на разработку.

Для эффективного использования всех преимуществ Spark недостаточно просто развернуть кластер и написать SQL запросы. Разработчики должны понимать, что происходит во внутренней структуре, в противном случае неизбежны неприятные сюрпризы с производительностью системы.

Этот тренинг ориентирован прежде всего на разработчиков и аналитиков данных, которые только начинают знакомство с фреймворком Spark, но не ограничивается базовыми понятиями. Будут рассмотрены различные способы оптимизации Spark не только в случае SQL-подобных запросов для табличных данных, но и для других типов данных, например, текстов, а также в случае взаимодействия с внешними системами, например, Cassandra.

В данной версии курса для практических упражнений используется язык Python. Это удобно для аналитиков данных, поскольку существенная часть упражнений выполняется в тетрадях Jupyter.

Цели

Слушатели получат представление об основных концепциях и архитектуре Spark, научатся создавать табличные запросы, используя Spark SQL и DataFrame Python API, разрабатывать программы обработки данных как последовательности преобразований RDD, загружать данные для обработки Spark из систем JDBC, Kafka и Cassandra, а также сохранять полученные результаты во внешних хранилищах данных.

Целевая аудитория

Разработчики, архитекторы, аналитики данных.

Предварительная подготовка

Базовые навыки программирования на языке Python. Базовые знания SQL..

Разбираемые темы

  • 1. Концепции и архитектура Spark (теория – 2 ч., практика – 1 ч.)

    • Map/Reduce и Spark в Hadoop. Примеры
    • Spark в Lambda-архитектуре
    • Кластеры для распределенной обработки данных
    • Как запустить Spark
    • Исполнители, задания, задачи в Spark
  • 2. Программирование с помощью RDD: трансформации и действия (теория – 2 ч., практика – 2 ч.)

    • В чем разница между SparkSession и SparkContext
    • Как создавать и распараллеливать RDD
    • Как трансформировать RDD
    • Как анализировать и управлять обработкой RDD (план и DAG)
    • Как сохранять и хранить RDD в HDFS
    • Как группировать и соединять RDD
  • 3. Программирование с помощью DataFrame (теория – 2 ч., практика – 2 ч.)

    • В чем разница между RDD и DataFrame
    • Как создавать и распараллеливать DataFrame
    • Как анализировать и управлять выполнением DataFrame (план и DAG)
    • Как сохранять DataFrame в HDFS
  • 4. Загрузка данных с внешних хранилищ и во внешние хранилища (теория – 1 ч., практика – 2 ч.)

    • Как читать/писать данные с файлового хранилища (HDFS, S3, FTP, локальной файловой системы)
    • Какой формат данных выбрать
    • Как распараллеливать чтение/запись в JDBC
    • Как создать DataFrame из MPP (Cassandra, Vertica, Greenplum)
    • Как работать с Kafka
  • 5. Написание логики с использованием Spark DSL (теория – 1 ч., практика – 1 ч.)

    • Как считать строки
    • Как обрабатывать математические агрегации
    • Как группировать строки
    • Как правильное соединять DataFrames
  • 6. Написание логики с использованием Spark SQL (теория – 1 ч., практика – 1 ч.)

    • Как и зачем переключаться на Spark SQL
    • Как работать с таблицей EXTERNAL
    • Как работать с таблицей MANAGED
  • 7. Использование функций Window и UDF (теория – 1 ч., практика – 1 ч.)

    • Какие оконные функции существуют и как их использовать в Spark
    • Когда не следует использовать оконные функции
    • Что такое UDF, UDAF и как их использовать
    • Как оптимизировать UDFs в PySpark
  • 8. Типы Spark (теория – 1 ч., практика – 1 ч.)

    • Логические: как добавить фильтр
    • Численные: как подсчитать сумму, произведение, статистику
    • Строковый: как использовать регулярные выражения
    • Комплексные: как работать со структурами, массивами
    • Как работать с данными
  • 9. Примеры оптимизации Spark (теория – 1 ч., практика – 1 ч.)

    • Недостаточно памяти
    • Маленькие файлы в HDFS
    • Асимметричные данные
    • Медленные соединения
    • Трансляция больших таблиц
    • Совместное использование ресурсов
    • Новые механизмы оптимизации: AQE и DPP
  • 10.Запуск Spark в Airflow (теория – 1 ч., демонстрация – 1 ч.)

    • Оркестраторы
    • Устройство Airflow
    • Встроенные операторы Airflow
    • SparkSubmitOperator
  • Всего: теория – 13 ч. (50%), практика и демонстрация – 13 ч. (50%)

  • Развернуть программу

Примечание

Материалы курса представлены на английском языке.
Раcписание курсов
Вид:
17.03.2025 - 19.03.2025
9:00-18:00
Локация:Онлайн
Длительность:26 ак.ч.
Время:9:00-18:00
45 000 руб.
Записаться
Смотреть полное расписание
Тренеры
Котельников Егор
Эксперт в области управления данными (BigData, ML)

Котельников Егор — инженер данных с более чем 6-летним опытом работы в крупных компаниях, таких как МТС, Билайн, Сбермегамаркет и группа компаний «Самолёт».

 

О проектах:

  • В роли инженера данных участвовал в проекте миграции хранилища с hadoop стека на s3 + kubernetes для ГК «Самолёт».

  • Руководил группой, которая занималась разработкой и поддержкой проекта по загрузке потоковых и пакетных данных в hdfs. А также оптимизацией загрузки большого объёма данных (100 Тб в месяц), построение витрин для Beeline.

  • Занимался руководством команды разработки аналитического хранилища с использованием hadoop, pyspark, airflow (arenadata), kafka, MS SQL. Разворачиванием кластера Arenadata, подключением zeppelin, интеграцией с системами (kafka, ms sql, gbq, sftp). Также группа занималась разработкой загрузки сырых данных с помощью шаблонных дагов в airflow, сборкой витрин для проектов сортировки, рекомендательной системы в Sbermegamarket.ru.

  • Выполнял роль ведущего разработчика на проектах: создание аналитического хранилища на базе Hadoop, Spark (Scala); разработка хранилища данных об использовании маркетплейса для целей маркетинговой аналитики; реализация потоковой обработки больших данных с использованием машинного обучения — в Goods.ru.

  • Был инженером-разработчиком на проектах: разработка библиотеки для использования в отделе больших данных, создание хранилища данных, реализация аналитических продуктов на больших данных — в Платформе ОФД.

Отзывы (3)
Спасибо за курс! Мы изучили основы использования одного из самых популярных фреймворков, и я наконец-то понял, как он работает 😊 хорошо, что всю информацию нам «разжёвывали», поэтому все было понятно. Понравился очень глубокий анализ каждого случая, практические примеры обзор Spark, практические упражнения с RDD, DataFrame, DataSet и домашние задания.
Участник тренинга
Не думал, что изучение BigData может быть таким простым и интересным с одной стороны, и объёмным и информативным с другой. Больше всего понравился широкий обзор ключевых концепций и методов обработки данных с помощью Spark и глубокое объяснение всей экосистемы Spark. Поэтому считаю, что вся информация, которую мы обсудили, была важной и полезной. Курс понравился, рекомендую!
Участник тренинга
Когда я записывался на курс, то хотел изучить Apache Spark. К моему счастью, моя цель была достигнута. Главные «плюсы» курсы для меня – это материалы об архитектуре, RDD, Spark SQL, DataFrames, Datasets и возможность упражняться. Все задания проверял тренер, он давал рекомендации и помогал выполнить задания, с которыми у нас были трудности. В общем, все супер!
Участник тренинга
Показать все отзывы
Связанные курсы
Основы Hadoop
Этот тренинг дает представление об устройстве Apache Hadoop и методах разработки приложений, обрабатывающих данные на его основе. Участники познакомятся с HDFS – стандартом де-факто для долговременного надежного хранения больших объемов данных фреймворком YARN, управляющим параллельным выполнением приложений на кластере и сопутствующими проектами, входящими в экосистему Hadoop: Hive, Spark, HBase.
Онлайн:
09.12.2024 - 13.12.2024
Онлайн:
23.12.2024 - 25.12.2024
Фреймворк Apache Spark для разработчиков: продвинутый уровень
Тренинг даёт подробное представление о внутреннем устройстве и функционировании фреймворка Apache Spark – как Spark Core (RDD), так и Spark SQL и Spark Streaming.
Смотреть каталог
Ваши преимущества
Экспертность
Тренеры-эксперты из реальных проектов крупнейших компаний, лидеров в своей отрасли
Живое обучение
“Живая” коммуникация с тренером даже в онлайн-формате
Практика
Максимально наполненные практикой занятия, работа в группах, выполнение домашних заданий
Пользователь только что записался на курс ""
Спасибо!
Форма отправлена успешно.