Все курсы
Apache Kafka для инженеров данных
Код курса | Даты начала курса | Стоимость обучения | Длительность обучения | Формат обучения |
---|---|---|---|---|
DEVKI | 20 января 2025 03 марта 2025 12 мая 2025 |
72 000 руб. | 24 ак.часов | Дистанционный |
Регистрация |
3х-дневный курс для специалистов, желающих получить и систематизировать знания по использованию Apache Kafka для программирования распределенной обработки потоков событий (Event Stream Processing) на практических примерах с потоковыми данными в реальном времени.
Курс содержит расширенные сведения по написанию программ работы с распределенным журналом Kafka, использованию его в парадигмах Pub/Sub и Message Queue и обработки потоковых данных с соблюдением best practices.
В теоретической части вы узнаете о наиболее важных API, архитектуре Kafka и внутренних принципах работы основных API Apache Kafka (Producer API, Consumer API, Streams API, Connect API), а также об особенностях реализации Apache Kafka и некоторых интересных концепциях, таких как exactly once semantics, компактируемых логах, Kafka DSL и др.
Программа курса "Apache Kafka для инженеров данных"
1. Основные концепции и архитектура Apache Kafka
- Архитектура и история возникновения Kafka
- Основные абстракции и понятия
- Основные API
- Изучим основные компоненты и API Kafka, принципы их взаимодействия и killer features.
2. Topic, partition и offset в Apache Kafka
- Понятие топика, раздела и смещения
- Управление Topic-ами из консоли
- Отслеживание последнего прочитанного сообщения
- Семантики доставки сообщений (at least once, at most once, exactly once)
Разберемся в анатомии топика, использовании механизмов партиционирования и consumer групп.
3. Producer API
- Публикация сообщений с помощью кода
Погрузимся в детальную настройку и использование Kafka Producer-а и best practices на стороне производителя сообщений.
4. Consumer API
- Прием сообщений point-to-point
- Kafka Broadcasting и группы. Гибкий процесс приема сообщений.
Научимся принимать сообщения и на практике реализуем минимальное приложение, работающее с Kafka.
Познакомимся с концепцией групп (consumer groups) и научимся настраивать группы для работы с сообщениями в режиме broadcasting.
5. Потоковая обработка в Kafka
- Архитектура Kafka Streams
- Потоковая обработка в Apache Kafka. Основные абстракции Kafka Streams
Изучим общие принципы и приемы в процессе работы с Kafka Streams.
6. Kafka Streams DSL
- Kafka Streams DSL — теория и практика
- Создание Kafka Streams приложения
Изучим специализированный язык описания (DSL) потоков данных в Kafka и научимся его использовать.
Напишем базовое Kafka Streams приложение.
7. Processor API
- Использование Processor API
Научимся работать на “низком” уровне – создавать топологии и перенаправлять по ним сообщения, использовать расписание (punctuator).
Напишем приложение с использованием Processor API.
8. Kafka Connect
- Архитектура Kafka Connect
- Виды Kafka Connector-ов
- Готовые Connector и Confluent HUB
- Connect API
Разберемся в том, какие готовые Connector-ы есть для Kafka, создадим собственные Source и Sink коннекторы.
9. Inside Kafka
- Особенности хранения данных
- Сериализация и десериализация данных и Confluent Registry
- Компактируемые топики и retension
- Конфигурация и производительность процесса работы с данными в Kafka
- ksqlDB как способ создания не сложных потоковых приложений
- использование Producer и Consumer API с другими языками программирования
Познакомимся с внутренним устройством топиков, партиций и сегментов. Поймем влияние параметров конфигурации на производительность процесса публикаци и потребления сообщений.
Научимся сериализовать и десериализовать данные с использованием Avro, познакомимся с ksqlDB, его особенностями и применимостью. На примере python API познакомимся с тем, как можно использовать Kafka не из Java.
Вы освоите следующие компоненты платформы Apache Kafka
Producer и Consumer API — базис для работы с Apache Kafka, единственный способ записать информацию в Kafka и считать ее из Kafka. Знакомясь с этими API, вы узнаете, как работают механизмы сериализации и десериализации данных в Apache Kafka.
Streams API — построение потоковых приложений, читающих данные из топиков Kafka, обрабатывающих их в реальном масштабе времени и записывающих результаты обработки обратно в Kafka. Вы познакомитесь с наиболее важными трансформациями Stream DSL, особенностями использования Processor API.
Kafka Connect — платформа масштабируемого и надежного перемещения большого объема потоковых данных между Kafka и другими системами. Kafka Connect предлагает API, Runtime и REST Service, что позволяет разработчикам создавать собственные коннекторы, которые перемещают большие объемы данных в Apache Kafka и из него в режиме реального времени.
На практике вы напишете несколько собственных приложений, включая свой Producer и Consumer, приложение Kafka Streams, коннекторы Source и Sink. Во время прикладной работы вы опробуете все API, о которых шла речь в теоретической части. Благодаря подробным объяснениям и комментариям, вы поймете, как наилучшим образом использовать предоставляемые Apache Kafka API для решения ваших бизнес-задач.
Кому нужны курсы по разработке Apache Kafka
Практические курсы по разработке Кафка и интеграции ее с другими системами ориентированы на программистов, разработчиков Big Data и специалистов, которые хотят:
- изучить базовые методы программного взаимодействия с Kafka (Producer и Consumer API)
- научиться использовать Kafka Streams API (как низкоуровневое Processor API, так и декларативный Stream DSL);
- понять методы интеграции Apache Kafka с внешними системами, как самописными, так и проприетарными;
- узнать практические примеры интеграции;
- освоить лучшие практики (best practices) по реализации процессов автоматического обмена данными между Apache Kafka и внешними системами.
Соотношение теории к практике 50/50
Предварительная подготовка
- Начальный опыт работы в Unix
- Начальный опыт программирования на Java
- Опыт работы с Hadoop Distributed File System (желательно).
Кто проводит курс
Королев Михаил
МГУ им. М.В. Ломоносова (Москва, 1992)
Профессиональные компетенции:
- Сертифицированный разработчик Spark и Hadoop (CCA Cloudera)
- Сертифицированный разработчик (Cloudera Certified Professional Data Engineer)
- Построение корпоративных хранилищ и озер данных (Cloudera CDH, Hadoop)
- Организация ETL-конвейеров (ApacheAirflow, Spark, Apache Livy)
- Поддержка инфраструктуры больших данных (Apache Hive,HBase, Kafka,Elasticsearch)
- Руководитель проектов с корпоративными данными
- Ведущий Data Engineer АО “Альфастрахование”, Москва
География наших клиентов
- Москва
- Санкт-Петербург
- Нижний Новгород
- Екатеринбург
- Казань
- Краснодар
- Красноярск
- Перьм
- Челябинск
- Новосибирск
- Томск
- Тверь
- Саратов
- Самара
- Ростов-на-Дону
- Хабаровск
- Волгоград
- Калуга
- Якутск
- Севастополь
- Тольяти
- Владивоссток
- Тюмень
- Южно-Сахалинск
- Уфа
- Ставрополь
- Минск
- Алматы
- Астана
- Ташкент
- Душанбе
- Бешкек