Ssylka

Как эффективно построить потоки данных в NiFi?

NiFi, основанный на парадигме потокового программирования (FSB), рассматривает приложения как сети «черных ящиков», обменивающихся данными (FlowFile). FlowFile – основной элемент, содержащий атрибуты (метаданные) и контент (данные). Важно помнить, что процессоры в NiFi изолированы: они обрабатывают только входящие данные и не имеют прямого доступа к другим процессорам или глобальным переменным.
Как эффективно построить потоки данных в NiFi?
Изображение носит иллюстративный характер

Атрибуты FlowFile содержат метаинформацию, важную для маршрутизации и обработки данных. Они включают имя файла, путь, уникальный идентификатор, дату создания и размер. NiFi предоставляет процессоры для извлечения, хеширования, идентификации типа и обновления атрибутов, а также мощный язык выражений (EL) для манипулирования ими. EL позволяет, например, сравнивать атрибуты, использовать переменные и системные свойства, упрощая автоматизацию сложных задач, таких как выявление проблемных записей в наборах данных.

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

Для эффективной обработки больших объемов данных рекомендуется использовать подход, ориентированный на записи (Record-Oriented NiFi). Вместо обработки всего контента целиком, NiFi «пробегает» по нему, преобразуя данные в записи с помощью Record Readers. Обработанные записи затем сериализуются обратно в контент с помощью RecordSetWriters. Этот подход позволяет NiFi эффективно обрабатывать большие наборы данных структурированно, гибко и с возможностью повторного использования настроенных компонентов.


Новое на сайте

8767Криптовалютные кошельки под прицелом: как хакеры из Lazarus Group вербуют жертв через... 8766Динамические Sheet-ы в SwiftUI с автоматическим определением высоты для iOS 15+ 8765Сколько чудес скрывает мир животных? Проверьте свои знания! 8764Стоит ли рискнуть ради обновленных Bose Ultra Open Earbuds: спасение для ушей или... 8763Топливные аппетиты Америки: почему США не экономят бензин? 8762Solar Quest: графовая платформа для киберучений и развития навыков 8761Ледяной армагеддон надвигается на средний Запад и Северо-Восток США: города готовятся к... 8760Параллельная реализация A на Rust для поиска оптимального пути 8759Как языческие ритуалы повлияли на раннее средневековье в Нидерландах? 8758Обманчивая безопасность: как муляжи камер видеонаблюдения защищают ваш дом 8757Неужели тайные реки Антарктиды предрекают судьбу мирового океана? 8756Workday делает ставку на искусственный интеллект, сокращая 1750 рабочих мест 8755Новый вид Paranthropus capensis меняет представление об эволюции человека 8754Оптимизация ИТ-инфраструктуры цод: кейс "Датахаты" и решения ISPsystem 8753Загадка Антарктиды: череп Vegavis iaai переписывает историю птиц