Чему вы научитесь
- Понимать архитектуру Structured Streaming: источники, приёмники, триггеры, StateStore, checkpoint — и как они взаимодействуют под капотом
- Читать данные из Kafka, файлов, Rate Source и создавать собственные Source через V2 API
- Писать результаты стриминга в Kafka, Delta Lake, Parquet и внешние системы через ForeachBatch/Foreach
- Работать с event-time: tumbling, sliding и session windows, watermarks, обработка поздних данных
- Выполнять stream-static и stream-stream JOIN с event-time constraints
- Управлять состоянием: mapGroupsWithState, flatMapGroupsWithState, конечные автоматы, RocksDB StateStore
- Настраивать checkpointing для exactly-once гарантий и восстановления после сбоев
- Мониторить потоковые приложения: StreamingQueryListener, Spark UI, интеграция с Prometheus/Grafana
- Оптимизировать производительность: параллелизм, memory management, GC tuning, настройка Kafka source
- Тестировать потоковые приложения: MemoryStream, StreamTest, TestContainers + Kafka
- Записывать данные стримингом в ClickHouse восемью различными методами и выбирать оптимальный под задачу
- Проектировать production-ready потоковые пайплайны: graceful shutdown, dead letter queue, schema registry, multi-query execution
О курсе
- Этот курс — полное техническое руководство по Apache Spark Structured Streaming на языке Scala. Он покрывает все аспекты потоковой обработки данных в Spark — от первого запуска до отказоустойчивых production-пайплайнов.
- Курс построен как техническая книга, а не набор слайдов. Каждая тема раскрыта подробно: архитектура компонентов, внутреннее устройство, edge-cases, подводные камни и реальные production-сценарии. Все примеры кода — полноценные Scala-приложения от import до awaitTermination, готовые к копированию и запуску.
- 16 модулей последовательно проведут вас через все источники и приёмники данных, триггеры и режимы выполнения, оконные функции и event-time обработку, stateful-агрегации, stream-stream и stream-static joins, управление состоянием (mapGroupsWithState, flatMapGroupsWithState, RocksDB), checkpointing и exactly-once семантику, мониторинг и оптимизацию, тестирование, интеграцию с Delta Lake и Iceberg, а также production-паттерны (CDC, graceful shutdown, schema registry, dead letter queue).
- Отдельный расширенный модуль посвящён записи потоковых данных в ClickHouse. Разобраны все восемь существующих на 2025–2026 год методов: JDBC через ForeachBatch, HTTP Interface, официальный spark-clickhouse-connector, Housepower-коннектор, промежуточный Kafka + ClickHouse Kafka Engine, файловый путь через S3/HDFS, нативный протокол (RowBinary), ClickPipes. Для каждого метода — полный код на Scala, плюсы и минусы, сравнительная таблица по throughput, latency и гарантиям доставки.
Для кого этот курс
Data-инженеры, которые строят или планируют строить потоковые пайплайны на Apache Spark
Backend-разработчики на Scala/Java, переходящие в область потоковой обработки данных
Разработчики, уже работающие с Spark Batch, которые хотят освоить Structured Streaming
Инженеры данных, которым нужно интегрировать Spark Streaming с ClickHouse в production
Архитекторы данных, выбирающие между Spark Structured Streaming, Flink и Kafka Streams
Специалисты, готовящиеся к собеседованиям на позиции Senior Data Engineer / Streaming Engineer
Начальные требования
- Уверенное владение языком Scala (синтаксис, коллекции, case-классы, pattern matching, for-comprehension, Option/Either)
- Опыт работы с Apache Spark в batch-режиме (SparkSession, DataFrame API, чтение/запись данных, базовые трансформации)
- Базовое понимание Apache Kafka (топики, партиции, offsets, producer/consumer) — желательно, но не обязательно
- Знакомство с командной строкой Linux и sbt Знание Structured Streaming НЕ требуется — курс начинает с основ потоковой обработки
Наши преподаватели
Как проходит обучение
- Курс состоит из 16 модулей, каждый включает 4–6 крупных шагов. Теоретические шаги — это полноценные статьи на тысячи слов, которые читаются как главы технической книги: с архитектурными схемами, разбором внутреннего устройства и примерами из production.
- Каждый шаг с кодом содержит полноценные Scala-приложения — от build.sbt и import-ов до graceful shutdown — которые можно скопировать и запустить в IDE. Код снабжён подробными комментариями, объясняющими не только «что делает», но и «зачем именно так».
- Каждый модуль завершается тестами (quiz) на глубокое понимание архитектуры и практическим заданием с бизнес-контекстом. Задания моделируют реальные задачи: построить pipeline обработки IoT-данных, реализовать real-time аналитику, настроить запись в ClickHouse с мониторингом и retry.
- Рекомендуется проходить модули последовательно и параллельно запускать примеры на локальном Spark-кластере или в Docker (инструкция по настройке — в первом модуле).
Программа курса
Что вы получаете
- Глубокое понимание архитектуры Structured Streaming — не только API, но и внутреннее устройство: micro-batch цикл, StateStore, checkpoint, offset management
- Навык проектирования отказоустойчивых потоковых пайплайнов с exactly-once гарантиями
- 120+ полноценных примеров кода на Scala, готовых к использованию в production
- Полный разбор 8 методов записи в ClickHouse — с кодом, сравнительной таблицей и рекомендациями по выбору
- Умение мониторить и оптимизировать потоковые приложения: от StreamingQueryListener до Prometheus/Grafana дашбордов
- Навык тестирования streaming-логики: unit-тесты с MemoryStream, интеграционные тесты с TestContainers
- Понимание интеграции с Delta Lake, Iceberg и Hudi для построения Lakehouse-архитектуры
- Готовность к production: graceful shutdown, dead letter queue, schema evolution, backpressure handling, multi-query execution
- Готовность к собеседованиям на позиции Data Engineer / Streaming Engineer уровня middle и senior
Сколько стоит обучение
Price:
4 000 ₽
Вы попробовали и поняли, что вам сейчас не подходит этот курс? Ничего страшного, мы вернём вам деньги в течение 30-ти дней после покупки.