Apache Kafka для инженеров данных

Курс для специалистов, желающих получить и систематизировать знания по использованию 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 и др.

Соотношение теории к практике: 50/50.

Обучение построен так, чтобы за 24 часа получить глубокое понимание и навыки работы с самой популярной платформой потоковой передачи событий, включая ее архитектуру, возможности и ограничения. Для этого придется выполнять задания, решая задачи проектирования и эксплуатации потоковых конвейеров, включая выполнение операций devops.

Курс позволит понять, как устроена Apache Kafka и каковые ее возможности для решения различных задач, связанных с потоковой обработкой больших объемов данных. Обучение включает практические задания, которые помогут вам закрепить полученные знания и научиться применять их на практике. Все задания основаны на реальных задачах, которые приходится решать при работе с Кафка. Задания выполняются онлайн, на платформе, предоставленной нашими специалистами devops, дополнительная оплата за экземпляр платформы не требуется.

Занятия проходят онлайн в дистанционном режиме с преподавателем. Практические задания тоже выполняются онлайн.

Целевая аудитория

Практический курс по кафке и интеграции ее с другими системами ориентирован на программистов, разработчиков Big Data и специалистов, которые хотят:

  • изучить базовые методы программного взаимодействия с Kafka (Producer и Consumer API)
  • научиться использовать Kafka Streams API (как низкоуровневое Processor API, так и декларативный Stream DSL);
  • понять методы интеграции Apache Kafka с внешними системами, как самописными, так и проприетарными
  • узнать практические примеры интеграции
  • освоить лучшие практики (best practices) по реализации процессов автоматического обмена данными между Apache Kafka и внешними системами

Предварительная подготовка

  • Начальный опыт работы в Unix
  • Начальный опыт программирования на Java
  • Опыт работы с Hadoop Distributed File System (желательно)

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

1. Основные концепции и архитектура Apache Kafka

  • Архитектура и история возникновения Kafka
  • Основные абстракции и понятия: брокер, Zookeeper, продюсер и потребитель
  • Основные 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.

Документы об окончании курса

  • Сертификат Учебного центра Noventiq
  • Cертификат об обучении установленного образца

Certificate Noventiq Education Belarus сертификат об обучении установленного образца

Оставить отзыв

Информация о курсе

Вендор: Big Data School
Код курса: DEVKI
Продолжительность: 5 дней / 24 ак. часа
Направление: Apache Kafka
Форма обучения:

под руководством инструктора

Все предложения
Записаться на курс

Название курса и комментарии*

Имя*

Фамилия*

Отчество*

Компания

Телефон*

Email*

Настоящим, в соответствии с ч.2.ст.18 Закона Республики Беларусь от 10.11.2008 N 455-З(ред. от 11.05.2016) "Об информации, информатизации и защите информации" и Законом Республики Беларусь от 7 мая 2021 г. № 99-З «О защите персональных данных», отправляя данную форму, вы подтверждаете свое согласие на сбор, обработку и хранение ООО «СофтЛайнБел» Ваших персональных данных. ООО «СофтЛайнБел» гарантирует конфиденциальность получаемой от Вас информации. Сбор, обработка и хранение персональных данных осуществляется в целях эффективного оказания услуг и исполнения договоров.

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