Apache NiFi 1.22.0: что нового?

Apache NiFi процессоры администрирование дата-инженерия примеры курсы обучение, Apache NiFi курсы примеры обучение, курсы дата-инженеров, обучение инженеров данных, обучение большим данным, Школа Больших Данных Учебный Центр Коммерсант

11 июня 2023 года вышел очередной релиз Apache NiFi. Разбираемся с главными новинками выпуска 1.22.0: улучшения, добавленные возможности и замененные компоненты.

Главные новинки Apache NiFi 1.22.0: обзор июньского релиза

Основные моменты выпуска 1.22.0 включают:

  • Агенты MiNiFi теперь могут общаться с серверами C2, используя обратный прокси или балансировщик нагрузки. В то время как связь Heartbeat и Acknowledge от агентов может быть настроена через обратный прокси-сервер / балансировщик нагрузки, ранее агенты не знали о хосте. Для потока и загрузки активов полные URL-адреса генерировались в операционных запросах сервером C2, поэтому фактическая загрузка происходит через прямой доступ к узлу, минуя прокси или балансировщик нагрузки. Чтобы исправить это, в Apache NiFi22.0 введены 3 новые свойства со следующими значениями:
    • crest.path.base=http://c2host/c2-server/api
    • rest.path.heartbeat=/heartbeat
    • rest.path.acknowledge=/acknowledge
  • Добавлены новые процессоры. Один из них, ModifyCompression, нужен для поддержки изменения алгоритма сжатия содержимого, которое по-прежнему подвергается нагрузке на ЦП, существенно улучшает ввод-вывод, избегая записи и чтения промежуточной распакованной формы. Другие новые процессоры используются для хранилища очередей Azure с использованием Azure SDK 12. Ранее существовавшие процессоры GetAzureQueueStorage и PutAzureQueueStorage зависели от устаревших библиотек Microsoft Azure SDK. Теперь они признаны устаревшими и заменены на GetAzureQueueStorage_v12 и PutAzureQueueStorage_v12 соответственно.
  • Процессор PutDatabaseRecord теперь допускает операции вставки и обновления (Upsert). Этот процессор использует указанный RecordReader для ввода одной или нескольких записей из входящего FlowFile. Эти записи транслируются в операторы SQL и выполняются как одна транзакция. Если возникают какие-либо ошибки, потоковый файл перенаправляется на сбой или повторяет попытку, а если записи успешно переданы, входящий потоковый файл перенаправляется на успех. Тип оператора, выполняемого процессором, указывается с помощью свойства типа оператора, которое принимает некоторые жестко закодированные значения, такие как INSERT, UPDATE и DELETE, а также атрибут Use statement.type, который заставляет процессор получать тип оператора из атрибута потокового файла. Для оператора UPDATE входящие записи не должны изменять значения первичных ключей или указанных пользователем ключей обновления, если такие записи встречаются.
  • Некоторые компоненты и функции помечены как устаревшие или удалены в целях подготовки к выпуску Apache NiFi 2.0. В частности, удалены процессоры GetIgniteCache и PutIgniteCache, а процессоры GetAzureQueueStorage и PutAzureQueueStorage заменены на GetAzureQueueStorage_v12 и PutAzureQueueStorage_v12 соответственно. Также удален класс org.apache.nifi.processors.mongodb.PutMongo, который нужен для подключения к документо-ориентированной СУБД MongoDB. Теперь вместо него используется реализация службы контроллера MongoDBControllerService. Также класс org.apache.nifi.processors.script.ExecuteScript, встроенный в скриптовый движок процессора ECMAScript, отмечен в качестве устаревшего – теперь вместо него используется скриптовый движок Groovy.

Релиз 1.22.0 содержит не так много новых фич, но некоторые из них достаточно интересные. В частности, реализовано предоставление метрик JMX из NiFi JVM. Это необходимо, чтобы предоставлять системные данные безопасным способом через конечную точку REST API со списком атрибутов JMX Bean. Большинство процессоров NiFi используют внешние библиотеки, которые могут регистрировать компоненты JMX, такие как процессоры Kafka и пр. Использование таких системных метрик пригодится в отладке конвейера данных. Доступная информация зависит от зарегистрированных Bean-компонентов и обычно связана с показателями производительности, такими как частота запросов/ответов, задержка, размер запроса, количество запросов или специфичными для инструмента параметрами, такими как скорость фиксации или время синхронизации/присоединения для Kafka.

Также добавлена служба контроллера ADLSCredentialsControllerServiceLookup для динамического получения ADLSCredentialsService -s на основе атрибута FlowFile и AzureStorageCredentialsControllerServiceLookup_v12 — служба поиска для обработчиков BLOB-объектов версии 12. AzureStorageCredentialsControllerServiceLookup_v12 обеспечит динамический доступ к службам AzureStorageCredentialsService_v12 на основе атрибута FlowFile. Обработчики BLOB-объектов версии 12 содержат одну ссылку на клиента. Для поддержки нескольких учетных данных, т.е. нескольких клиентов, используется тот же подход к фабрике клиентов/кэшу, что и в случае процессоров ADLS (DataLakeServiceClientFactory).

Наконец, обновлены многочисленные зависимости из-за потенциальных уязвимостей и последних стабильных версий и исправлены ошибки в процессорах, а также в поведении базовой платформы NiFi. О новинках релиза 1.23.1 читайте в нашей новой статье.

Освойте все возможности Apache NiFi  для построения эффективных ETL-конвейеров потоковой аналитики больших данных на специализированных курсах в нашем лицензированном учебном центре обучения и повышения квалификации для разработчиков, менеджеров, архитекторов, инженеров, администраторов, Data Scientist’ов и аналитиков Big Data в Москве:

Я даю свое согласие на обработку персональных данных и соглашаюсь с политикой конфиденциальности.

Источники

  1. https://cwiki.apache.org/confluence/display/NIFI/Release+Notes#ReleaseNotes-Version1.22.0
  2. https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12316020&version=12353069
  3. https://cwiki.apache.org/confluence/display/NIFI/Deprecated+Components+and+Features
Поиск по сайту