Курсы BI


Apache NiFi


Apache NiFi

Описание курса

Этот курс охватывает полный цикл работы с Apache NiFi — мощным инструментом для потоковой обработки и интеграции данных. Участники изучат ключевые принципы настройки, администрирования и оптимизации NiFi, научатся создавать и управлять потоками данных, взаимодействовать с базами данных, файлами, Kafka и другими внешними системами. Особое внимание уделяется продвинутым возможностям, распределенной обработке, мониторингу, а также разработке пользовательских процессоров и сервисов на Python и Java.

Кому подойдет этот курс

  • Data Engineers – для настройки потоков данных и интеграции с различными источниками.
  • BI и ETL-специалисты – для организации конвейеров обработки данных.
  • DevOps-инженеры – для автоматизации работы с данными в распределенных системах.
  • Разработчики и архитекторы – для проектирования надежных и масштабируемых решений на основе NiFi.
  • Администраторы БД – для автоматизации загрузки и трансформации данных.

Чему вы научитесь

  • Разворачивать и конфигурировать Apache NiFi на локальной машине и в кластере.
  • Создавать и оптимизировать потоки данных, используя встроенные процессоры.
  • Работать с атрибутами, параметрами и переменными среды.
  • Обрабатывать структурированные данные (JSON, CSV, AVRO) и применять схемы.
  • Интегрироваться с базами данных, файлами и потоковыми системами (Kafka).
  • Проектировать распределенные потоки данных с балансировкой нагрузки.
  • Использовать NiFi Registry для управления версиями потоков.
  • Работать в Stateless-режиме для высокопроизводительной обработки.
  • Разрабатывать пользовательские процессоры и сервисы на Java и Python.
  • Применять лучшие практики и избегать типичных ошибок при проектировании потоков.

Формат обучения

теория + практические задания в каждом модуле, реализация реальных кейсов, разбор ошибок и ответы на вопросы.

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

Модуль 1: Введение в Apache NiFi

Те​мы:

1. Что такое NiFi

  • История создания.
  • Основные концепции.

2. Для чего нужен NiFi

  • Применение в ETL/ELT процессах.
  • Сценарии использования.

3. Разворачиваем  практика

  • Установка и запуск NiFi.
  • Проверка работы интерфейса.

4. Особенности настройки сингл нод

  • Конфигурация properties файлов.
  • Настройка логирования и безопасности.

5. Интерфейс NiFi

  • Canvas, процессоры, соединения.
  • Базовые действия с элементами.

Дополнительные практические задания:

  • Установить NiFi на локальном компьютере.
  • Создать простой поток для генерации данных и вывода их в лог.

Модуль 2: Базовые концепции и работа с потоками

Темы:

6. Простейший поток практика

  • Создание первого потока данных.
  • Тестирование.

7. Особенности настройки процессоров тюним поток

  • Работа с основными параметрами процессоров.
  • Оптимизация производительности.

8. Работа с атрибутами и язык выражений NiFi

  • Что такое атрибуты.
  • Язык выражений NiFi.

9. Parameter context and variables

  • Менеджмент параметров.
  • Переменные среды.

Дополнительные практические задания:

  • Создать поток с использованием Parameter Context.
  • Написать несколько выражений для фильтрации данных.

Модуль 3: Работа со структурированными данными

Темы:

10. Records что это такое

  • Введение в Records.

11. AVRO схемы

  • Создание и использование AVRO схем.

12. Обрабатываем структурированный поток практика

  • Преобразование JSON/CSV в Records.
  • Фильтрация и обработка данных.

Дополнительные практические задания:

  • Создать поток для преобразования CSV файла в JSON.
  • Реализовать фильтрацию записей на основе условий.

Модуль 4: Взаимодействие с внешними системами

Темы:

13. Взаимодействие с базой данных

  • Подключение к RDBMS.
  • CRUD операции.

14. Возможности по тестированию потоков и проверке

  • Инструменты мониторинга.
  • Логирование и отладка.

15. Взаимодействие с файлами

  • Чтение и запись файлов.
  • Работа с директориями

Дополнительные практические задания:

  • Создать поток для импорта данных из базы данных в файл.
  • Реализовать автоматическую очистку временных файлов.

Модуль 5: Распределенная работа и продвинутые возможности

Темы:

16. Работа с kafka

  • Подключение к Kafka.
  • Производители и потребители.

17. Особенности распределенной работы NiFi

  • Архитектура кластера.
  • Load balancing.

18. Удаленные группы в NiFi

  • Настройка удаленных групп.
  • Обмен данными между нодами.

19. NiFi registry настройка

  • Хранение версий потоков.
  • Управление схемами.

Дополнительные практические задания:

  • Настроить взаимодействие между двумя экземплярами NiFi через удаленные группы.
  • Создать проект в NiFi Registry и применить его в кластере.

Модуль 6: Продвинутые механизмы NIFI

Темы:

20. NiFi statless практика использования

  • Stateless режим.
  • Примеры применения.

21. Проектирование Flow лучшие практики

  • Архитектурные принципы.
  • Избегание распространенных ошибок.

Дополнительные практические задания:

  • Реализовать поток для обработки данных с использованием Stateless.

Модуль 7: Скрипты для NiFi

Темы:

22. Record Scripting (Сервисы и процессоры)

  • Скриптование для Record процессоров.
  • Примеры на Groovy.

23. Scripting для Apache NIFI

  • Языки поддерживаемые NiFi.
  • Примеры скриптов.

Дополнительные практические задания:

  • Написать простой скрипт для преобразования данных.
  • Написать скрипт партиционирования входящих данных-

Модуль 8: Скрипты для NiFi

24. Разработка на Python для Apache NIFI

  • Создание пользовательских процессоров на Python.

25. Разработка на Java для Apache NIFI

  • Создание пользовательских процессоров на Java.

26. Разработка Сервисов для Apache NIFI

  • Разработка пользовательских сервисов.

Дополнительные практические задания:

  • Создать простой процессор на Python.
  • Разработать пользовательский сервис для NiFi.

Заключение

27. Ответы на вопросы

  • Ответы на вопросы слушателей.
  • Обсуждение реальных кейсов.

 






« Предыдущий курс     Следующий курс»

Возврат к списку


Подпишитесь на новости