Этот курс - полноценный проект с полным циклом обработки данных в реальном времени. Вы будете работать с данными интернет-магазина, включающими счета-фактуры для клиентов и товары из этих счетов. Цель курса - настроить потоковую обработку данных (инвойсов) по мере их поступления и визуализировать их в удобном интерфейсе.
Вы будете использовать технологии FastAPI, Apache Kafka, Apache Spark, MongoDB и Streamlit - инструменты, с которыми вы уже знакомы из других курсов. Перед началом настоятельно рекомендуем пройти базовые курсы по этим технологиям, а также курс по основам Docker, так как проект сильно опирается на Docker-окружение.
Что вас ждет в курсе:
Введение в проект
Вы разберетесь в архитектуре end-to-end пайплайна и увидите, как строится визуализация данных. Пошагово разберете, как построить проект и на каком этапе использовать те или иные технологии.
Подготовка данных
Вы загрузите и преобразуете датасет с Kaggle: сначала сохраните его в формате CSV, а затем превратите данные в JSON для дальнейшей работы.
API на FastAPI
Познакомитесь с общей схемой API, создадите API с FastAPI, настроите его для приема данных и протестируете работу через Postman.
Apache Kafka и API как Docker-сервисы
Установите Apache Kafka через Docker, настроите топики, напишете API, который будет писать данные в Kafka, и развернете его в Docker-контейнере.
Стриминг данных через Spark в Kafka
Подготовите контейнер с Apache Spark, подключите его к Kafka и API, настроите обработку данных через Spark Structured Streaming, протестируете пайплайн.
Хранение данных в MongoDB
Настроите MongoDB и Mongo-Express через Docker, подготовите базу данных и коллекцию для хранения данных, чтобы связать Spark с MongoDB.
Стриминг данных из Kafka в MongoDB
Освоите работу со Spark Structured Streaming для записи потоковых данных из Kafka в MongoDB в формате вложенных JSON-документов.
API-клиент на Python
Напишете скрипт-клиент на Python для отправки данных в API в формате JSON и убедитесь, что данные успешно записываются в MongoDB.
Интерфейс визуализации на Streamlit
Построите интерактивный дашборд для просмотра счетов и товаров клиентов с помощью Streamlit.
Этот проект - отличная возможность объединить знания по API, потоковой обработке данных, работе с Docker и базами данных в единое целое и получить практический опыт создания потоковых приложений в реальных условиях.
Посмотреть больше
Это пробный урок. Оформите подписку, чтобы получить доступ ко всем материалам курса. Премиум
Ограничение времени просмотра
Вы можете просматривать пробный урок только 10 минут. Получите полный доступ, чтобы смотреть без ограничений.
Я - старший инженер по данным и тренер, техноэнтузиаст и отец. Уже более десяти лет я увлечён Data Engineering. Сначала я стал инженером по данным самоучкой, а затем возглавил команду инженеров по данным в крупной компании. Когда я понял, насколько велика потребность в обучении в этой сфере, я последовал за своей страстью и основал собственную Академию Data Engineering. С тех пор я помог более чем 2 000 студентам достичь своих целей.