Языки программирования

Apache NiFi добавляет поддержку процессоров Python

Apache NiFi добавляет поддержку процессоров Python

Apache NiFi 2, проект для обработки и распространения данных, был выпущен с поддержкой процессоров Python во фреймворке MiNiFi и полностью переработанным пользовательским интерфейсом. Apache NiFi основан на программном обеспечении NiagaraFiles, разработанном Агентством национальной безопасности США (NSA), которое было открыто в 2014 году. Название NiFi происходит от Niagara Files. NiFi может использоваться для автоматизации потока данных между программными системами, в нем применяется технология ETL (извлечение, преобразование, загрузка), а также возможность работы в кластерах и безопасность на основе шифрования TLS.

NiFi в первую очередь выступает в роли потребителя между Kafka и HDFS. NiFi также обеспечивает проверку схемы для потоков событий, позволяя потокам изменять и повторно публиковать защищенные потоки событий для общего использования. Кроме того, он может использоваться для мониторинга потоков данных и выявления потенциальных проблем, а также для защиты потоков данных путем шифрования данных в состоянии покоя и при передаче.

NiFi выполняется в рамках JVM на хостовой операционной системе. Его основные компоненты начинаются с веб-сервера, на котором размещен командный и управляющий API NiFi на основе HTTP. Имеется контроллер потока, который предоставляет потоки для запуска расширений и управляет расписанием, когда расширения получают ресурсы для выполнения.

NiFi использует концепцию файлов FlowFiles, которые представляют объекты, перемещающиеся по системе. Для каждого FlowFile NiFi отслеживает карту строк атрибутов пары ключ/значение и связанное с ними содержимое из нуля или более байт. Состояние активных FlowFile хранится в репозитории FlowFile Repository. Существует также репозиторий содержимого, в котором хранятся байты фактического содержимого данного FlowFile, и репозиторий провенанса, в котором хранятся все данные о событиях провенанса.

NiFi расширяется разработчиками, а расширения работают и выполняются в JVM.

В этом выпуске NiFi переделан пользовательский интерфейс, позволяющий системе или пользователю выбирать темный режим. Более того, теперь он поддерживает Kafka 3 как для потребления, так и для публикации с помощью Kafka.

Команда NiFi утверждает, что эта версия теперь может разделять двоичные файлы захвата пакетов (PCAP) с помощью SplitPCAP, а файлы Microsoft Excel XLSX могут быть разделены на отдельные листы с помощью SplitExcel. По их словам, это:

"хороший пример все более широкого использования NiFi в природе для захвата и преобразования неструктурированных или полуструктурированных данных и доставки их в такие системы, как базы данных, векторные хранилища и т. д.".

Также появился новый интерфейс для расширений Python, поддерживающий компоненты, которые получают новые данные. Что касается Python, то теперь во фреймворке MiNiFi появилась поддержка процессоров Python.

NiFi 2 доступен уже сейчас.

Читайте также