Улучшаемые навыки
Big Data
Spark
Spark SQL
DataFrame
RDD
Python
HDFS
Kafka
Cassandra
Data Engineering
Инструменты
Kafka
Python
HDFS
Cassandra
Spark
Чему вы научитесь
01
Создавать и распараллеливать RDD и DataFrame
02
Запускать Spark и управлять кластерами для распределенной обработки данных
03
Читать и записывать данные из внешних хранилищ
04
Оптимизировать производительность Spark-приложений
05
Использовать веб-ноутбуки Jupyter для разработки и тестирования кода
Программа курса
01
Концепции и архитектура Spark
Map/Reduce и Spark в Hadoop. Примеры
Spark в Lambda-архитектуре
Кластеры для распределенной обработки данных
Как запустить Spark
Исполнители, задания, задачи в Spark
02
Программирование с помощью RDD: трансформации и действия
В чем разница между SparkSession и SparkContext
Как создавать и распараллеливать RDD
Как трансформировать RDD
Как анализировать и управлять обработкой RDD (план и DAG)
Как сохранять и хранить RDD в HDFS
Как группировать и соединять RDD
03
Программирование с помощью DataFrame
В чем разница между RDD и DataFrame
Как создавать и распараллеливать DataFrame
Как анализировать и управлять выполнением DataFrame (план и DAG)
Как сохранять DataFrame в HDFS
04
Загрузка данных с внешних хранилищ и во внешние хранилища
Как читать/писать данные с файлового хранилища (HDFS, S3, FTP, локальной файловой системы)
Какой формат данных выбрать
Как распараллеливать чтение/запись в JDBC
Как создать DataFrame из MPP (Cassandra, Vertica, Greenplum)
Как работать с Kafka
05
Написание логики с использованием Spark DSL
Как считать строки
Как обрабатывать математические агрегации
Как группировать строки
Как правильное соединять DataFrames
06
Написание логики с использованием Spark SQL
Как и зачем переключаться на Spark SQL
Как работать с таблицей EXTERNAL
Как работать с таблицей MANAGED
07
Использование функций Window и UDF
Какие оконные функции существуют и как их использовать в Spark
Когда не следует использовать оконные функции
Что такое UDF, UDAF и как их использовать
Как оптимизировать UDFs в PySpark
Логические: как добавить фильтр
Численные: как подсчитать сумму, произведение, статистику
Строковый: как использовать регулярные выражения
Комплексные: как работать со структурами, массивами
Как работать с данными
09
Примеры оптимизации Spark
Недостаточно памяти
Маленькие файлы в HDFS
Асимметричные данные
Медленные соединения
Трансляция больших таблиц
Совместное использование ресурсов
Новые механизмы оптимизации: AQE и DPP
10
Запуск Spark в Airflow
Оркестраторы
Устройство Airflow
Встроенные операторы Airflow
SparkSubmitOperator
11
Всего: теория – 13 ч. (50%), практика и демонстрация – 13 ч. (50%)
Для кого
Разработчик
Архитектор ПО
Big Data Analyst
Предварительная подготовка
Базовые навыки программирования на языке Python. Базовые знания SQL..
Расписание курсов
Курс проводят
Заигрин Вадим
Специалист в области BigData
О тренере
Более 35 лет в ИТ, с 2016 года работает с большими данными как разработчик, Data Engineer и Data Scientist. Team Lead команд инженеров данных на разных проектах.
В рамках своей профессиональной деятельности :
- развивал проекты в банках, в телекоммуникационных и розничных компаниях.
-
разработал архитектуру миграции системы Teradata RTCM на Teradata VCX для телекоммуникационной компании.
-
разработал архитектура системы обработки данных на базе Hadoop для совместного проекта международной платежной системы и крупного банка.
-
разработал систему безопасности Hadoop на основе Atlas и Ranger.
-
тестировал системы безопасности Protegrity в Hadoop для крупного банка.
Практический опыт базируется на знании Hadoop (Cloudera, Hortonworks), MPP-системами (Teradata, Greenplum, Vertica), фреймворка Spark и платформ Google Cloud Platform и Yandex Cloud.
Образование:
Прикладная математика, Московский институт электроники и математики (МИЭМ)
Курсы и сертификаты