Курс на Stepik
Обложка курса «Apache Flink для дата-инженера» на Stepik
500 ₽

Apache Flink для дата-инженера 5.000

Открыть на
STEPIK.ORG

Практический курс по Apache Flink для дата-инженеров: от первой stream job до DataStream API, Flink SQL, Kafka, event time, watermarks, state, checkpoint/savepoint, backpressure, тестирования и production-пайплайнов.

Показатель Текущие показатели Рост
Значение 🏆 Рейтинг 3 дн 7 дн 30 дн
Количество учеников на курсе «Apache Flink для дата-инженера»Учеников на курсе 52
Сертификаты, выданные на курсе «Apache Flink для дата-инженера»Сертификатов выдано 0
Отзывы о курсе «Apache Flink для дата-инженера»Отзывов получено 1
Рейтинг курса «Apache Flink для дата-инженера»Рейтинг курса 5.000
Уроки в курсе «Apache Flink для дата-инженера»Количество уроков 141
Тесты в курсе «Apache Flink для дата-инженера»Количество квизов 564
Время прохождения курса «Apache Flink для дата-инженера»Время прохождения курса
Стоимость курса «Apache Flink для дата-инженера»Стоимость курса 500 ₽
Обновления курса «Apache Flink для дата-инженера»Обновления курса
Дата публикации курса «Apache Flink для дата-инженера»Дата публикации курса
Последнее обновление курса «Apache Flink для дата-инженера»Последнее обновление

Содержание курса

Разделы в курсе «Apache Flink для дата-инженера» 20 разделов Уроки в курсе «Apache Flink для дата-инженера» 141 урок Тесты в курсе «Apache Flink для дата-инженера» 564 теста Время прохождения курса «Apache Flink для дата-инженера» 0 ч. Последнее обновление курса «Apache Flink для дата-инженера» обн. 16 июля 2026

Модуль 1. Введение в потоковую дата-инженерию и Apache Flink

8 уроков
1. О курсе: как проходить обучение и канал «Логово Дата-Инженера»
2. Зачем дата-инженеру Apache Flink и какие задачи он решает
3. Поток данных против пакетной обработки: первая ментальная модель
4. Bounded и unbounded streams: конечные и бесконечные данные
5. Streaming analytics, ETL и event-driven приложения во Flink
6. Flink, Spark Structured Streaming, Kafka Streams и Beam: где…
7. Карта курса: от первого job до продакшн-пайплайна
8. Как выполнять практику и проверять себя без кластера

Модуль 2. Рабочая среда

7 уроков
1. Версии Flink 2.x, Java 17 и что важно знать про LTS-ветки
2. Установка JDK, Maven и проверка окружения
3. Структура Maven-проекта Flink и зависимости provided
4. Первый DataStream job в IDE: StreamExecutionEnvironment
5. Локальный mini cluster и запуск из main
6. Flink CLI: run, list, cancel и что происходит при отправке job
7. Первый взгляд на Web UI и логи локального запуска

Модуль 3. Архитектура Flink

7 уроков
1. Client, JobManager и TaskManager: кто за что отвечает
2. JobGraph, ExecutionGraph и операторный DAG простыми словами
3. Tasks, subtasks и parallelism: как работа делится на части
4. Task slots: единица ресурсов и почему слот не равен CPU
5. Operator chaining: почему несколько операторов могут стать…
6. Shuffle и network exchange: где начинается дорогое…
7. Application, job и deployment mode в современной Flink 2.x-линии

Модуль 4. DataStream API: первые преобразования

7 уроков
1. Что такое DataStream и почему его нельзя просто распечатать…
2. Source, transformation, sink: анатомия Flink-программы
3. map и flatMap: преобразование событий
4. filter и простая очистка входного потока
5. keyBy: логическое разделение потока по ключу
6. reduce и простая инкрементальная агрегация
7. execute и ленивость: когда программа реально стартует

Модуль 5. Типы данных, функции и сериализация

7 уроков
1. Java POJO, record и Tuple: какие типы Flink понимает лучше
2. Почему сериализация важна для производительности и state
3. MapFunction, FlatMapFunction и lambda: что выбрать в учебном…
4. RichFunction: open, close, RuntimeContext и аккуратные ресурсы
5. Configuration и параметры job без захардкоженных значений
6. Ошибки типов и сериализации: как читать первые stack trace
7. Чистые функции в stream processing: меньше скрытого состояния

Модуль 6. Источники и приёмники данных

7 уроков
1. Source API: от коллекции и DataGen к реальным источникам
2. FileSource: чтение файлов как bounded stream
3. DataGen и Print connector для учебных экспериментов
4. Sink API: куда уходит результат и почему println не продакшн
5. FileSink: запись файлов и rolling policy
6. Параллельные sink-и и порядок записей: чего не обещает Flink
7. Мини-пайплайн: читаем события, чистим, пишем результат

Модуль 7. Время в потоках

7 уроков
1. Processing time против event time: две разные правды о времени
2. Timestamp assigner: откуда Flink берёт время события
3. Watermark: отметка прогресса во времени события
4. Out-of-order события и bounded out-of-orderness
5. Idleness: почему один молчащий partition может остановить время
6. Поздние события: что значит late data
7. Отладка времени: как увидеть, почему окно не закрывается

Модуль 8. Окна: tumbling, sliding, session и агрегаты

7 уроков
1. Зачем нужны окна и почему бесконечный поток нельзя просто…
2. Tumbling windows: непересекающиеся интервалы
3. Sliding windows: пересекающиеся интервалы и цена дублирования
4. Session windows: группировка по активности пользователя
5. Window assigner, trigger, evictor: кто управляет окном
6. ReduceFunction, AggregateFunction и ProcessWindowFunction
7. Allowed lateness и side output для поздних событий

Модуль 9. Keyed state: состояние как сердце Flink

7 уроков
1. Stateless против stateful operators: когда память становится…
2. Keyed state и key groups: как Flink распределяет состояние
3. ValueState: последний статус, счётчик и простые накопления
4. ListState и MapState: когда одного значения недостаточно
5. ReducingState и AggregatingState: состояние с агрегирующей…
6. State TTL: удаление старого состояния без ручной уборки
7. Типичные ошибки state: общий mutable object, null и рост без…

Модуль 10. ProcessFunction, таймеры и нестандартная логика

7 уроков
1. ProcessFunction: когда map/filter/window уже не хватает
2. KeyedProcessFunction и доступ к keyed state
3. Processing-time timers: отложенные действия по времени обработки
4. Event-time timers: логика, привязанная к времени события
5. Side outputs: отдельный поток для ошибок и поздних данных
6. Broadcast state: правила и справочники, приходящие отдельным…
7. Async I/O: обогащение событий внешним сервисом без блокировки

Модуль 11. Checkpoints, savepoints и state backends

7 уроков
1. Fault tolerance во Flink: что именно восстанавливается после…
2. Checkpoint barrier и согласованное состояние
3. Checkpointing mode: exactly-once и at-least-once без мифов
4. Checkpoint config: интервалы, timeout, min pause и…
5. Savepoint: управляемая точка остановки, миграции и апгрейда
6. HashMapStateBackend, EmbeddedRocksDBStateBackend и…
7. Incremental checkpoints и большая state: где выигрыш и где цена

Модуль 12. Kafka и end-to-end гарантии доставки

7 уроков
1. KafkaSource: bootstrap servers, topics, group id и offsets…
2. Десериализация событий: строки, JSON и собственные схемы
3. KafkaSink: сериализация и запись результата
4. DeliveryGuarantee: none, at-least-once и exactly-once
5. Транзакционный Kafka sink и transactional id prefix
6. Offsets, checkpoints и безопасный рестарт job
7. Практический пайплайн Kafka -> Flink -> Kafka

Модуль 13. Flink SQL: потоковые таблицы и SQL Client

7 уроков
1. Flink SQL как язык потоковых и пакетных запросов
2. SQL Client и первый SELECT над DataGen
3. CREATE TABLE: connectors, formats и WITH options
4. Dynamic tables: append, retract и upsert простыми словами
5. SELECT, WHERE и computed columns
6. INSERT INTO как запуск непрерывного запроса
7. EXPLAIN: читаем план SQL-запроса

Модуль 14. Время, окна и joins во Flink SQL

7 уроков
1. Time attributes: rowtime, proctime и WATERMARK в DDL
2. Window TVF: TUMBLE, HOP и CUMULATE
3. Window aggregation и группировка по window_start/window_end
4. Deduplication и Top-N в потоковом SQL
5. Regular join и проблема бесконечного состояния
6. Interval join: соединение событий по временному диапазону
7. Temporal join: справочники, версии и поток фактов

Модуль 15. Table API, UDF и мост к DataStream

7 уроков
1. TableEnvironment и StreamTableEnvironment: точки входа
2. Table API против SQL: когда код удобнее строки запроса
3. Преобразование DataStream в Table и обратно
4. ScalarFunction: простая пользовательская функция
5. TableFunction и разворачивание одной строки в несколько
6. AggregateFunction: пользовательская агрегация
7. Граница ответственности: где оставить SQL, а где перейти в…

Модуль 16. Форматы, озеро данных и CDC

7 уроков
1. JSON, CSV, Avro, Protobuf и Raw: как выбирать формат
2. Schema Registry и Confluent Avro: зачем нужна внешняя схема
3. Debezium format: changelog из базы данных
4. Flink CDC: когда нужен отдельный коннектор для изменений
5. Upsert Kafka: ключи, tombstone и компактированные топики
6. FileSystem connector и потоковая запись в data lake
7. Iceberg, Paimon и lakehouse-таблицы: место Flink в озере

Модуль 17. Деплой: standalone, Docker, YARN и Kubernetes

7 уроков
1. Session mode, application mode и per-job: как выбирать режим…
2. Упаковка fat jar и зависимости connector-ов
3. Standalone cluster: JobManager, TaskManager и конфигурация
4. Docker Compose для локального кластера Flink
5. YARN deployment: когда Flink живёт рядом с Hadoop
6. Native Kubernetes и Flink Kubernetes Operator
7. High availability: ZooKeeper, Kubernetes HA и recovery storage

Модуль 18. Наблюдаемость, отладка и эксплуатация

7 уроков
1. Web UI: job graph, subtasks, exceptions и accumulators
2. Логи JobManager и TaskManager: где искать причину падения
3. Metrics: throughput, busy time, backpressure и checkpoint…
4. Backpressure: как распознать и где искать узкое место
5. Debugging windows и event time в реальном job
6. Restart strategies и failure rate: как Flink перезапускает…
7. Production readiness checklist для Flink job

Модуль 19. Производительность и тюнинг Flink job

7 уроков
1. Parallelism, max parallelism и rescaling без сюрпризов
2. Key skew: перекос ключей и способы борьбы
3. Network buffers, shuffle и operator chaining
4. State backend tuning: heap, RocksDB, managed memory
5. Checkpoint tuning под backpressure и большую state
6. Async I/O, cache и rate limiting внешних сервисов
7. Чек-лист ревью производительности Flink-пайплайна

Модуль 20. Итоговый проект и дорога к senior data engineer

7 уроков
1. Постановка итогового проекта: события заказов в реальном времени
2. Проектируем схемы событий, ключи и контракты данных
3. Реализация DataStream pipeline: очистка, keyBy, state и таймеры
4. Реализация SQL-слоя: витрина агрегатов и upsert sink
5. Тесты и локальный прогон итогового Flink-проекта
6. Деплой, checkpointing, savepoint и план безопасного релиза
7. Дорожная карта дальше: Flink internals, CDC, lakehouse и open…