После построения пайплайнов данных, обработка данных - одна из важнейших задач в Data Engineering. Как инженер по данным, вы постоянно сталкиваетесь с необходимостью обработки, и критично уметь настраивать мощную и распределённую систему обработки. Один из самых полезных и широко используемых инструментов для этого - Apache Spark.
В этом курсе вы изучите архитектуру Spark и базовые принципы его работы. Вы попрактикуетесь с преобразованиями и действиями в Spark, будете работать в Jupyter Notebooks в среде Docker. Также вы познакомитесь с DataFrame, SparkSQL и RDD, чтобы понять, как использовать их для обработки структурированных и неструктурированных данных. По завершении курса вы будете готовы писать собственные Spark-джобы и строить пайплайны на его основе.
Основы Spark
Поймёте, зачем использовать Spark, в чём разница между вертикальным и горизонтальным масштабированием. Узнаете, с какими типами данных может работать Spark и где его можно запускать.
Разберётесь в архитектуре: executor, driver, context, cluster manager, и в типах кластеров. Также изучите различия между client- и cluster-режимами развертывания.
Данные и среда разработки
Познакомитесь с инструментами, которые мы будем использовать в курсе. Узнаете, какой датасет выбран, и как настроить рабочую среду: установить Docker и Jupyter Notebook.
Основы кодинга на Spark
Перед практикой вы разберётесь с ключевыми понятиями: что такое RDD и DataFrame, в чём их особенности при работе с разными типами данных.
Поймёте разницу между transformations и actions, как они взаимодействуют с данными и друг с другом, и изучите наиболее часто используемые типы операций.
Практика в Jupyter Notebook
В GitHub-репозитории вы найдёте весь код, который используется в курсе, и сможете сразу начать работу.
Вы поработаете с пятью нотбуками, где научитесь:
- применять преобразования к данным,
- работать со схемами, колонками и типами данных,
- обрабатывать JSON и CSV в DataFrames,
- объединять и модифицировать DataFrames,
- использовать Spark SQL для работы с данными,
- применять RDD для неструктурированных данных.