TGViewer
Data Engineering Digest Data Engineering Digest @dataengineeringdigest · 1.17K subscribers
Post #11 925
Apache Flink под капотом: distributed, stateful, realtime

Ссылка на выступление:
https://youtu.be/N0VIhpUf4qM?si=_g23HWZ5x07c-See
или
https://vkvideo.ru/video-147464741_456239315

Сложность: 3/3 (Технически насыщенный доклад, требует понимания Apache Flink и потоковой обработки данных)
Кому будет интересно: Всем, кто работает с Apache Flink или планирует его использовать. Подойдёт для первичного знакомства с Apache Flink.

✨ Краткий пересказ и выводы по докладу Валентины Предтеченской — Apache Flink под капотом: distributed, stateful, realtime ✨
Валентина Предтеченская подробно разобрала внутреннюю работу Apache Flink, фокусируясь на трех ключевых аспектах: распределенность (distributed), управление состоянием (stateful) и обработка в реальном времени (realtime). Доклад был ориентирован на практикующих инженеров, уже знакомых с Flink, и содержал множество технических деталей и примеров.

🔍 Основные тезисы:
1️⃣ Введение в Apache Flink:
• Flink — это фреймворк для распределенной обработки данных в реальном времени.
• Основные компоненты: JobManager, TaskManager, Task Slots.
• Flink решает задачи потоковой аналитики, поиска и рекомендаций.
2️⃣ Распределенный движок:
• Пример задачи: подсчет кликов по объявлениям в реальном времени.
• Использование Kafka для обработки событий.
• Работа с событиями пользователей, такими как клики.
3️⃣ Параллелизм и настройка:
• Параллелизм настраивается эмпирически через нагрузочное тестирование.
• Важно закладывать "запас" для надежности системы.
• Рекомендации по настройке параллелизма для конкретных операторов.
4️⃣ Управление состоянием (Stateful):
• Два типа состояния: HashMapState(в памяти) и RocksDBState (в файловой системе).
• Важно указывать TTL (время жизни) для данных, чтобы избежать неограниченного роста.
• Чекпоинты используются для синхронизации состояния между TaskManager'ами.
5️⃣ Реал-тайм обработка:
• Flink поддерживает два типа времени: Processing Time и Event Time.
• Watermark (ватермарка) — это механизм для отслеживания времени в потоке данных.
• Ватермарка помогает обрабатывать события с задержкой и избегать проблем с событиями из "будущего".
6️⃣ Оптимизация и производительность:
• Chaining (чейнинг) — оптимизация передачи данных между операторами в одном Task'е.
• Rebalance (ребаланс) — перераспределение данных между параллельными задачами.
• Использование Broadcast(бродкаст) для фильтрации данных, например, черных списков IP-адресов.
7️⃣ Проблемы и решения:
• События из будущего: могут нарушить логику обработки. Решение — чинить источник данных или отбрасывать такие события.
• Восстановление состояния: при падении TaskManager'а состояние восстанавливается из чекпоинтов.
• Эволюция состояния: изменение типов данных в состоянии требует осторожности, чтобы не потерять данные.

🚀 Рекомендации:
• Используйте чекпоинты для надежного восстановления состояния.
• Настройте TTL для данных, чтобы избежать неограниченного роста состояния.
• Оптимизируйте передачу данных с помощью чейнинга и ребаланса.
• Внимательно работайте с ватермарками, чтобы корректно обрабатывать задержки и события из "будущего".

💡 Выводы:
1️⃣ Flink — мощный инструмент для потоковой обработки:
• Подходит для задач, требующих низкой задержки и высокой надежности.
• Управление состоянием и чекпоинты делают его устойчивым к сбоям.
2️⃣ Оптимизация — ключ к производительности:
• Правильная настройка параллелизма, чейнинга и ребаланса значительно улучшает производительность.
• Использование ватермарок помогает корректно обрабатывать задержки в данных.
3️⃣ Эволюция состояния требует осторожности:
• Изменение типов данных в состоянии может привести к потере данных, если не спланировано заранее.
• Используйте сейф-пойнты для безопасного обновления логики без остановки стриминга.

📌 Итог:
Доклад Валентины Предтеченской — это глубокий dive в Apache Flink, который поможет инженерам лучше понять, как работает этот фреймворк под капотом. Flink — это не просто инструмент, а целая экосистема, требующая внимательной настройки и понимания внутренних механизмов.
YouTube Валентина Предтеченская — Apache Flink под капотом: distributed, stateful, realtime Подробнее о конференции SmartData: https://jrg.su/aTWU2K — — Скачать презентацию с сайта SmartData — https://jrg.su/rDYWGB Apache Flink — фреймворк и движок для распределенной stateful-обработки потоков данных. В Авито его используют для realtime-обработки…
More from @dataengineeringdigest
  1. Oct 10, 2026✨ Сергей Харитонов — Физиология лидерства: как тимлиду оставаться в ресурсе Сложность: 1/3…
  2. Oct 1, 20265 октября начнется 19-й поток программы Data Engineer от Newprolab Программа для junior- и…
  3. Oct 1, 2026Прошу простить, уже долгое время не могу выделить время на полноценный пост о интересных д…
  4. Sep 23, 20265 октября начнется 19-й поток программы Data Engineer от Newprolab Программа для junior- и…
  5. Sep 6, 2026Ещё один доклад из которого не получился пост по причине того, что админ очень не любит sp…
  6. Sep 5, 2026photo post
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →