Apache Kafka для инженеров данных
(Core Apache Kafka)
2х-дневный курс для специалистов, желающих получить и систематизировать знания по использованию Apache Kafka для организации асинхронного взаимодействия систем и надежной передачи данных между приложениями в реальном времени
Код курса | Даты начала курса | Стоимость обучения | Длительность обучения | Формат обучения |
---|---|---|---|---|
KFDE | по запросу |
0 руб. | ак.часов | Дистанционный |
Apache Kafka для инженеров данных
На курсе вы научитесь создавать приложения, работающие с распределенным журналом Kafka, а также использовать его в парадигмах «издатель -подписчик» (Pub/Sub) и очередь сообщений (Message Queue). Вы узнаете, как публиковать и подписываться на топики Kafka, а также познакомитесь с лучшими практиками применения этой распределенной платформы потоковой обработки событий.
В теоретической части вы узнаете об основных API (Producer API, Consumer API), архитектуре Kafka и внутренних принципах ее работы, а также об особенностях реализации этой платформы, тонкостях сериализации и десериализации данных, структуре хранения и сжатия логов.
Чтобы закрепить полученные знания, на практике вы напишете несколько собственных приложений продюсеров и потребителей. Благодаря подробным объяснениям и комментариям, вы поймете, как наилучшим образом использовать предоставляемые Apache Kafka API для решения своих бизнес-задач.
Кому нужно обучение по Apache Kafka
Цель курса:
Аудитория:
- изучить базовые методы и особенности записи данных в Kafka (Producer API)
- научиться читать данных из Kafka (Consumer API)
- разобраться, какие конфигурационные параметры влияют на производительность платформы и каким образом
- понять, в чем особенность использования разных языковых API (на примере Java и Python)
- освоить лучшие практики (best practices) по реализации процессов обмена данными между Apache Kafka и внешними системами
Предварительный уровень подготовки:
- Начальный опыт работы в Unix
- Начальный опыт программирования на Java или Python
Как проходят курсы
Офлайн-обучение или онлайн-курс проходят в формате интерактивного семинара: даже в дистанционном режиме с вами занимается живой преподаватель - рассказывает теорию, дает практические задания и проверяет результаты выполнения. В качестве примеров рассматриваются кейсы из реального бизнеса и лучшие практики применения Apache Kafka для распределенной обработки событий в реальном времени. На практике вы освоите Producer и Consumer API как способы записать информацию в Kafka и считать ее оттуда. Знакомясь с этими API, вы узнаете, как работают механизмы сериализации и десериализации данных в Apache Kafka, создав свои собственные приложения-продюсеры и потребители событий.
Продолжительность курса: 16 академических часов, 2 дня
Соотношение теории к практике: 50/50
По завершении обучения вы получите
Программа курса
«Apache Kafka для инженеров данных»
- Архитектура и история возникновения Kafka
- Основные абстракции и понятия
- Основные API
Изучим основные компоненты и API Kafka, принципы их взаимодействия и killer features.
- Понятие топика, раздела и смещения
- Управление Topic-ами из консоли
- Отслеживание последнего прочитанного сообщения
- Семантики доставки сообщений (at least once, at most once, exactly once)
Разберемся в анатомии топика, использовании механизмов партиционирования и consumer групп.
- Программная публикация сообщений в топики Kafka
- Управление партиционированием
Погрузимся в детальную настройку и использование Kafka Producer-а и best practices на стороне производителя сообщений.
- Прием сообщений point-to-point
- Kafka Broadcasting и группы
- Управление смещением
Научимся принимать сообщения и на практике реализуем минимальное приложение, работающее с Kafka.
Познакомимся с концепцией групп (consumer groups) и научимся настраивать группы для работы с сообщениями в режиме broadcasting.
- Особенности хранения данных
- Сериализация и десериализация данных и Confluent Registry
- Компактируемые топики и retention
- Конфигурация и производительность процесса работы с данными в Kafka
- ksqlDB как способ создания не сложных потоковых приложений
Познакомимся с внутренним устройством топиков, партиций и сегментов. Поймем влияние параметров конфигурации на производительность процесса публикации потребления сообщений.
Научимся сериализовать и десериализовать данные с использованием Avro, познакомимся с ksqlDB, его особенностями и применимостью.
Для практических упражнение во время курса мы будем использовать Python или Java.
Укажите e-mail, на который будет оправлена ссылка для скачивания файла:
Кто проводит курс
Ермилов Дмитрий
Академия Федеральной службы безопасности Российской Федерации (Москва, 2012)
Профессиональные компетенции:
- Ведущий Data Scientist в ФГУП “Центр информационных технологий”, Москва
- Руководитель программ в Университете искусственного интеллекта, Москва.
- Кандидат наук (2017 год, Московский государственный университет им. М.В. Ломоносова, Москва)