Spark Structured Streaming на Scala

Исчерпывающий курс по Apache Spark Structured Streaming на Scala. Sources, Sinks, Triggers, Windowing, State Management, Checkpointing, Joins, ClickHouse интеграция, Production паттерны. 16 модулей.

Чему вы научитесь

  • Понимать архитектуру 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-ти дней после покупки.

Часто задаваемые вопросы

Расскажите о курсе друзьям

Price: 4 000