Apache Kafka и Flink CDC: потоковые данные на практике

Практический курс по созданию потокового конвейера PostgreSQL → Flink CDC → Kafka → ClickHouse. Вы разберётесь, как работает захват изменений данных, настроите логическую репликацию PostgreSQL, передачу событий через Kafka и загрузку в ClickHouse. На практике обработаете INSERT, UPDATE и DELETE, изучите контрольные…
Начальный уровень
Сертификат Stepik

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

  • Понимать разницу между пакетной и потоковой обработкой данных
  • Понимать, как изменения в базе данных превращаются в поток событий
  • Создавать локальное учебное окружение с помощью Docker Compose
  • Настраивать передачу изменений из PostgreSQL в Kafka с помощью Flink CDC
  • Работать с топиками, ключами сообщений и группами потребителей Kafka
  • Передавать поток данных из Kafka в ClickHouse
  • Проверять обработку добавления, изменения и удаления записей
  • Находить причины отставания и восстанавливать конвейер после остановки
  • Самостоятельно собирать проект PostgreSQL → Flink CDC → Kafka → ClickHouse

О курсе

Потоковая обработка данных часто кажется сложной темой. Kafka, Flink, CDC, журнал WAL, смещения и контрольные точки выглядят как большой набор технологий, которые нужно изучать по отдельности.

В этом курсе мы разберём их на одном понятном практическом проекте. Вы последовательно соберёте работающий конвейер:

PostgreSQL → Flink CDC → Kafka → ClickHouse

Начнём с основных понятий, подготовим окружение в Docker, настроим передачу изменений и проверим весь путь данных. Предварительно изучать Kafka, Flink CDC, PostgreSQL или ClickHouse не требуется.

Что вы создадите

В ходе курса вы соберёте систему, в которой изменения из PostgreSQL автоматически передаются через Flink CDC в Kafka, а затем загружаются в ClickHouse.

Вы добавите новую запись, измените её и удалите. После каждой операции сможете проследить, как событие проходит через все компоненты и появляется в итоговой аналитической таблице.

Итоговый проект будет работать не только при обычной обработке данных. Вы также проверите его поведение при остановке компонентов, накоплении событий и последующем восстановлении.

Для кого этот курс

  • Для начинающих инженеров данных.
  • Для действующих инженеров данных, которые хотят разобраться с потоковой обработкой и CDC.
  • Для инженеров-аналитиков и разработчиков хранилищ данных.
  • Для специалистов DataOps и DevOps, работающих с платформами данных.
  • Для разработчиков, которым нужно передавать изменения из операционной базы в аналитическую систему.

Что потребуется для старта

Для прохождения курса достаточно базового знакомства с SQL, Docker и командной строкой. Все необходимые действия будут разобраны последовательно.

Java и Scala не требуются. Мы не будем писать Flink-приложения и углубляться в DataStream API. Основная работа выполняется с помощью Docker, SQL, готовых конфигураций и командной строки.

Как построено обучение

Курс состоит из семи модулей и развивается от основных понятий к самостоятельной сборке итогового проекта.

  • Потоковые данные и CDC. Разберём отличие потоковой обработки от пакетной и поймём, как работает захват изменений данных.
  • Основы Apache Kafka. Познакомимся с брокерами, топиками, партициями, ключами сообщений, смещениями и группами потребителей.
  • Знакомство с Flink CDC. Рассмотрим устройство задания Flink, работу PostgreSQL WAL, первоначальный снимок и чтение последующих изменений.
  • Передача изменений из PostgreSQL в Kafka. Настроим логическую репликацию и обработку операций INSERT, UPDATE и DELETE.
  • Преобразование и загрузка в ClickHouse. Разберём структуру CDC-событий, выполним преобразование данных и загрузим их в итоговую таблицу.
  • Надёжность потокового конвейера. Изучим контрольные точки, дубликаты, порядок событий, отставание потребителей, рост WAL и восстановление после остановки.
  • Итоговый проект. Самостоятельно соберём конвейер и проведём его полную проверку.

Особенности курса

  • Один сквозной проект на протяжении всего курса.
  • Практическая работа с реальными конфигурациями и командами.
  • Постепенное объяснение сложных понятий простым языком.
  • Разбор распространённых ошибок и способов диагностики.
  • Проверка работы конвейера после остановок и повторных запусков.
  • Без разработки на Java и Scala.
  • Без Kubernetes и сложного администрирования Kafka.

Что вы получите в результате

После прохождения курса у вас останется готовый локальный проект, который можно повторно запускать, изменять и использовать как основу для собственных экспериментов.

Главный результат курса заключается не только в работающих контейнерах. Вы будете понимать, как данные проходят через конвейер, где хранится прогресс обработки, почему могут появляться дубликаты, из-за чего растёт WAL и как восстановить систему после сбоя.

Это практическая база для дальнейшей работы с потоковыми платформами, системами CDC и современными конвейерами данных.

Для кого этот курс

Начинающим инженерам данных, которые хотят на практике разобраться с потоковой обработкой и CDC Действующим инженерам данных, которым нужно передавать изменения из операционных баз в аналитические системы Инженерам-аналитикам и разработчикам хранилищ данных, которые хотят понимать полный путь данных от источника до витрины Специалистам DataOps и DevOps, которые запускают, сопровождают и восстанавливают платформы данных Разработчикам, которым необходимо организовать надёжный обмен изменениями между PostgreSQL, Kafka и ClickHouse Всем, кто хочет собрать полноценный потоковый конвейер и понять его работу без разработки на Java или Scala

Начальные требования

Для прохождения курса достаточно базовой подготовки:

  • понимание простых SQL-запросов: SELECT, INSERT, UPDATE и DELETE;

  • начальный опыт работы с Docker и Docker Compose;

  • умение выполнять команды в терминале;

  • компьютер с возможностью запускать несколько Docker-контейнеров;

  • желание разбираться в движении данных между системами.

Предварительное знание Apache Kafka, Apache Flink, Flink CDC, PostgreSQL и ClickHouse не требуется. Все компоненты и необходимые настройки будут разобраны по ходу курса.

Java и Scala также не потребуются. Основная работа выполняется через Docker, SQL, командную строку и готовые конфигурационные файлы.

Наши преподаватели

Как проходит обучение

Курс состоит из последовательных текстовых уроков с наглядными схемами, практическими примерами, командами и готовыми конфигурациями.

Все практические задания продолжают единый проект:

PostgreSQL → Flink CDC → Kafka → ClickHouse

В каждом модуле вы сначала знакомитесь с основными понятиями, затем применяете их на практике. Вы будете запускать компоненты в Docker, выполнять SQL-запросы, изменять конфигурации и наблюдать за движением событий между системами.

После уроков предусмотрены проверочные вопросы, которые помогут закрепить материал и проверить понимание ключевых принципов.

В практических заданиях вы будете:

  • подготавливать окружение;

  • настраивать PostgreSQL и логическую репликацию;

  • работать с топиками и сообщениями Kafka;

  • создавать конвейер Flink CDC;

  • подключать ClickHouse к потоку событий;

  • проверять обработку INSERT, UPDATE и DELETE;

  • моделировать остановки компонентов и восстановление конвейера.

В финальном модуле вы самостоятельно соберёте весь проект, проверите обработку изменений и проведёте итоговую приёмку.

Курс можно проходить в удобном темпе. Все необходимые команды и примеры приведены непосредственно в уроках.

Программа курса

загружаем...
Certificate

Сертификат

Сертификат Stepik

Что вы получаете

  • Собранный вами потоковый конвейер PostgreSQL → Flink CDC → Kafka → ClickHouse
  • Практический опыт настройки захвата изменений данных и логической репликации PostgreSQL
  • Навыки работы с топиками, партициями, ключами сообщений и группами потребителей Kafka
  • Понимание первоначального снимка, журнала WAL, смещений и контрольных точек
  • Опыт передачи и обработки операций INSERT, UPDATE и DELETE
  • Навыки поиска причин отставания, появления дубликатов и роста WAL
  • Практику остановки, перезапуска и восстановления компонентов конвейера
  • Итоговый проект, который можно развивать дальше и использовать в учебном портфолио

Сколько стоит обучение

Price: 3 300 
Вы попробовали и поняли, что вам сейчас не подходит этот курс? Ничего страшного, мы вернём вам деньги в течение 30-ти дней после покупки.

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

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

Price: 3 300