Построение потока данных

Автоматизированный поток данных создается DFM через пользовательский интерфейс NiFi. Для этого необходимо перенести компоненты с панели инструментов на рабочую область, настроить их в соответствии с конкретными потребностями и соединить вместе.

Добавление компонентов на рабочую область

В разделе Пользовательский интерфейс NiFi описаны различные сегменты UI и упомянута панель инструментов “Components Toolbar”, разбор компонентов которой приведен далее (Рис.111.).

../../_images/ADS_UserNIFI_DataFlow_Components-Toolbar.png

Рис. 111. Разбор панели инструментов NiFi

Processor – Процессор является наиболее часто используемым компонентом, поскольку он отвечает за поступление и выход данных, их маршрутизацию и управление. Существуют различные типы Процессоров. Фактически, это очень распространенная точка расширения в NiFi, что означает, что поставщики могут реализовать свои собственные Процессоры для выполнения необходимых для их использования функций. При перемещении Процессора на рабочую область NiFi открывается диалоговое окно выбора типа (Рис.112.).

../../_images/ADS_UserNIFI_DataFlow_Type-of-Processor.png

Рис. 112. Выбор типа Процессора

В правом верхнем углу можно задать фильтр списка на основе типа Процессора или связанных с ним тегов. Разработчики имеют возможность присваивания тегов к своим Процессорам, и в дальнейшем данные теги отображаются с левой стороны в специальном облаке. Щелчок по тегу в облаке отсортировывает только содержащие данный тег Процессоры. При выборе нескольких тегов отображаются только те Процессоры, которые содержат все указанные теги вкупе. Например, если необходимо показать только те Процессоры, которые позволяют загружать файлы, можно выбрать теги files и ingest (Рис.113.).

../../_images/ADS_UserNIFI_DataFlow_Add-Processor.png

Рис. 113. Фильтрация Процессоров по тегам

Ограниченные компоненты отмечаются соответствующим значком слева от названия их типа. Это компоненты, которые могут использоваться для выполнения произвольного необработанного кода, предоставляемого оператором через REST API/UI, или которые могут использоваться для получения или изменения данных в хост-системе NiFi с применением учетных данных ОС. Ограниченные компоненты также необходимы авторизованным пользователем NiFi с целью выхода за пределы предполагаемого использования приложения, повышения привилегий или предоставления информации о внутренних компонентах процесса NiFi или хост-системы.

Все эти возможности следует считать привилегированными, администраторам необходимо знать о них и явно включать для подмножества доверенных пользователей. Но прежде чем пользователь сможет создавать и изменять ограниченные компоненты, ему должен быть предоставлен доступ на определенные разрешения, которые отображаются при наведении курсора на значок “Restricted”. При этом разрешения могут назначаться независимо от ограничений. В таком случае пользователь имеет доступ ко всем ограниченным компонентам. Также пользователям может быть назначен доступ к определенным ограничениям. И в случае если пользователю предоставляется доступ ко всем ограничениям, требуемым компоненту, то он будет иметь доступ к данному компоненту (при условии наличия достаточных разрешений).

Нажатие кнопки “Add” или двойное нажатие на тип Процессора добавляет выбранный Процессор в рабочую область на то место, куда была перемещена пиктограмма с панели инструментов.

Important

Любой компонент в рабочей области можно выбрать с помощью мыши и переместить. Также можно управлять несколькими элементами одновременно – удерживая нажатой клавишу Shift и выбрав каждый компонент

С Процессором в рабочей области можно взаимодействовать, щелкнув правой кнопкой мыши по нему и выбрав параметр из выпадающего контекстного меню. Доступные опции различаются в зависимости от назначенных пользователю привилегий (Рис.114.).

../../_images/ADS_UserNIFI_DataFlow_Processor-options.png

Рис. 114. Опции Процессора

Хотя опции контекстного меню различаются, приведенные далее обычно доступны:

  • Configure – опция позволяет пользователю устанавливать или изменять конфигурацию Процессора (см. Настройка Процессора). Для Процессоров, портов, групп удаленных процессов, соединений и меток диалоговое окно конфигурации можно открыть двойным щелчком по компоненту;
  • Start или Stop – опция позволяет пользователю запускать или останавливать Процессор, в зависимости от его текущего состояния;
  • Enable или Disable – опция позволяет пользователю включить или отключить Процессор, в зависимости от его текущего состояния;
  • View data provenance – опция отображает таблицу происхождения данных NiFi Data Prevenance с информацией о событиях для FlowFiles, проложенных через выбранный Процессор;
  • View status history – опция открывает графическое представление статистической информации Процессора с течением времени;
  • View usage – опция позволяет перейти к документации по использованию Процессора;
  • View connections → Upstream – опция позволяет пользователю видеть и переходить на восходящие соединения, входящие в Процессор. Это особенно полезно, когда Процессоры подключаются к другим группам процессов и выходят из них;
  • View connections → Downstream – опция позволяет пользователю видеть и переходить на нисходящие соединения, входящие в Процессор. Это особенно полезно, когда Процессоры подключаются к другим группам процессов и выходят из них;
  • Center in view – опция центрирует представление рабочей области на данном Процессоре;
  • Change color – опция позволяет пользователю изменять цвет Процессора, что упрощает визуальный менеджмент больших потоков;
  • Create template – опция позволяет пользователю создать шаблон из выбранного Процессора;
  • Copy – опция помещает копию выбранного Процессора в буфер обмена, чтобы можно было его добавить в другое место рабочей области, щелкнув правой кнопкой мыши и выбрав “Paste”. Действия Copy/Paste также могут выполняться с помощью комбинации клавиш “Ctrl-C” (“Command-C”) и “Ctrl-V” (“Command-V”);
  • Delete – опция позволяет DFM удалять Процессор с рабочей области.

Input Port – Входной порт предоставляет механизм для передачи данных в группу процессов. Когда входной порт перемещается на рабочую область, DFM получает запрос на имя порта. Все порты в группе процессов должны иметь уникальные имена.

Все компоненты существуют в Process Group. Когда пользователь изначально переходит на страницу NiFi, он помещается в Root Process Group. Если входной порт перемещается в данную группу процессов, входной порт обеспечивает механизм для приема данных из удаленных инстансов NiFi посредством Site-to-Site. В таком случае входной порт может быть настроен для ограничения доступа к соответствующим пользователям при настройке безопасного запуска NiFi.

Output Port – Выходной порт предоставляет механизм для передачи данных из группы процессов в места назначения за ее пределами. Когда выходной порт перемещается на рабочую область, DFM получает запрос на имя порта. Все порты в группе процессов должны иметь уникальные имена.

Если выходной порт перемещается в Root Process Group, он обеспечивает механизм отправки данных удаленным инстансам NiFi посредством Site-to-Site. В таком случае порт действует как очередь. Поскольку удаленные инстансы NiFi извлекают данные из порта, эти данные удаляются из очередей входящих соединений. При настройке безопасного запуска NiFi выходной порт можно сконфигурировать для ограничения доступа к соответствующим пользователям.

Process Group – Группы процессов могут использоваться для логического объединения набора компонентов с целью упрощения понимания и управления потоком данных. Когда группа процессов перемещается на рабочую область, у DFM запрашивается имя Process Group, после чего группа процессов вкладывается в родительскую группу. Все Process Group в одной родительской группе должны иметь уникальные имена.

С группой процессов в рабочей области можно взаимодействовать, щелкнув правой кнопкой мыши по ней и выбрав параметр из выпадающего контекстного меню. Доступные опции различаются в зависимости от назначенных пользователю привилегий (Рис.115.).

../../_images/ADS_UserNIFI_DataFlow_Process-Group-options.png

Рис. 115. Опции группы процессов

Хотя опции контекстного меню различаются, приведенные далее обычно доступны:

  • Configure – опция позволяет пользователю устанавливать или изменять конфигурацию группы процессов;
  • Variables – опция позволяет пользователю создавать или настраивать переменные в пользовательском интерфейсе NiFi;
  • Enter group – опция позволяет пользователю войти в группу процессов. Также можно дважды щелкнуть по группе процессов, чтобы войти в нее;
  • Start – опция позволяет пользователю запустить группу процессов;
  • Stop – опция позволяет пользователю остановить группу процессов;
  • View status history – опция открывает графическое представление статистической информации группы процессов с течением времени;
  • View connections → Upstream – опция позволяет пользователю видеть и переходить на восходящие соединения, входящие в группу процессов;
  • View connections → Downstream – опция позволяет пользователю видеть и переходить на нисходящие соединения, входящие в группу процессов;
  • Center in view – опция центрирует представление рабочей области на данной группе процессов;
  • Group – опция позволяет пользователю создать новую группу процессов, содержащую выбранную и любые другие компоненты, указанные на рабочей области;
  • Create template – опция позволяет пользователю создать шаблон из выбранной группы процессов;
  • Copy – опция помещает копию выбранной группы процессов в буфер обмена, чтобы можно было ее добавить в другое место рабочей области, щелкнув правой кнопкой мыши и выбрав “Paste”. Действия Copy/Paste также могут выполняться с помощью комбинации клавиш “Ctrl-C” (“Command-C”) и “Ctrl-V” (“Command-V”);
  • Delete – опция позволяет DFM удалять группу процессов с рабочей области.

Remote Process Group – Группы удаленных процессов отображаются и ведут себя аналогично группам процессов. Только группа удаленных процессов (RPG) ссылается на удаленный инстанс NiFi. Когда RPG перемещается на рабочую область, у DFM запрашивается URL-адрес удаленного инстанса. Если удаленный NiFi является кластеризованным, URL-адрес, который должен использоваться, – это URL-адрес любого инстанса NiFi в этом кластере. Когда данные передаются кластеризованному NiFi через RPG, RPG подключается к удаленному инстансу, URL-адрес которого настроен для определения, какие узлы находятся в кластере и насколько занят каждый из них. Эта информация используется для балансировки загрузки данных на каждый узел. Затем удаленные инстансы периодически опрашиваются для определения сведений о узлах, которые удаляются из кластера или добавляются в него, и при этом балансировка загрузки каждого узла перерасчитывается.

С удаленной группой процессов в рабочей области можно взаимодействовать, щелкнув правой кнопкой мыши по ней и выбрав параметр из выпадающего контекстного меню. Доступные опции различаются в зависимости от назначенных пользователю привилегий (Рис.116.).

../../_images/ADS_UserNIFI_DataFlow_Remote-Process-Group-options.png

Рис. 116. Опции удаленной группы процессов

Хотя опции контекстного меню различаются, приведенные далее обычно доступны:

  • Configure – опция позволяет пользователю устанавливать или изменять конфигурацию группы удаленных процессов;
  • Enable transmission – опция активирует передачу данных между инстансами NiFi;
  • Disable transmission – опция отключает передачу данных между инстансами NiFi;
  • View status history – опция открывает графическое представление статистической информации группы удаленных процессов с течением времени;
  • View connections → Upstream – опция позволяет пользователю видеть и переходить на восходящие соединения, входящие в группу удаленных процессов;
  • View connections → Downstream – опция позволяет пользователю видеть и переходить на нисходящие соединения, входящие в группу удаленных процессов;
  • Refresh remote – опция обновляет представление состояния удаленного инстанса NiFi;
  • Manage remote ports – опция позволяет пользователю видеть входные и/или выходные порты, существующие на удаленном инстансе NiFi, к которому подключена группа удаленных процессов. При этом если конфигурация Site-to-Site защищена, отображаются только те порты, к которым предоставлен доступ данному пользователю NiFi;
  • Center in view – опция центрирует представление рабочей области на данной группе удаленных процессов;
  • Go to – опция открывает представление удаленного инстанса NiFi на новой вкладке браузера. При этом если конфигурация Site-to-Site защищена, у пользователя должен быть доступ к удаленному инстансу NiFi для его просмотра;
  • Group – опция позволяет пользователю создать группу процессов, содержащую выбранную группу удаленных процессов;
  • Create template – опция позволяет пользователю создать шаблон из выбранной группы удаленных процессов;
  • Copy – опция помещает копию выбранной группы удаленных процессов в буфер обмена, чтобы можно было ее добавить в другое место рабочей области, щелкнув правой кнопкой мыши и выбрав “Paste”. Действия Copy/Paste также могут выполняться с помощью комбинации клавиш “Ctrl-C” (“Command-C”) и “Ctrl-V” (“Command-V”);
  • Delete – опция позволяет DFM удалять группу удаленных процессов с рабочей области.

Funnel – Воронки используются для объединения данных из нескольких Соединений в одно, что имеет два преимущества. Во-первых, при наличии большого количества Соединений с одним и тем же назначением рабочая область может загромождаться занимаемым ими пространством. Путем объединения Соединений в одно, полученное одиночное Соединение затем можно так же нарисовать на рабочей области, охватив такое же пространство. Во-вторых, Соединения могут быть настроены с помощью приоритетов FlowFile. Данные из нескольких Соединений могут быть направлены в одиночное Соединение, обеспечивая возможность приоритизации всех данных, а не определять приоритеты данных по каждому Соединению независимо друг от друга.

Template – Шаблоны могут создаваться DFM из части потока или могут импортироваться из других потоков данных. Они обеспечивают крупные блоки для быстрого создания сложного потока. При перемещении пиктограммы “Template” на рабочую область открывается диалоговое окно для выбора шаблона из списка доступных (Рис.117.).

../../_images/ADS_UserNIFI_DataFlow_Template.png

Рис. 117. Выбор шаблона

В раскрывающемся списке находятся все доступные шаблоны. Любой шаблон, созданный с описанием, содержит значок вопроса, указывающий на наличие дополнительных сведений, отображающихся при наведении курсора мыши на иконку (Рис.118.).

../../_images/ADS_UserNIFI_DataFlow_Template-description.png

Рис. 118. Дополнительные сведения о шаблоне

Label – Ярлыки используются для предоставления информативного текста частям потока данных. При перемещении пиктограммы “Label” на рабочую область он создается с заданным по умолчанию размером с возможностью последующего редактирования при помощи маркера в правом нижнем углу. Ярлык не имеет текста при создании. Текст добавляется по щелчку правой кнопкой мыши на ярлыке и выбору параметра Configure.

Версии компонентов

В приложении есть доступ к информации о версии Процессоров, контроллера и задач отчетности. Это особенно полезно при работе в кластерной среде с несколькими инстансами NiFi, использующими разные версии компонентов, или при обновлении до более новой версии процессора. Диалоговые окна “Add Processor”, “Add Controller Service” и “Add Reporting Task” содержат столбец с версией компонента, а также имя компонента, организации или группы, создавшей его, и содержащий данный компонент пакет NAR (Рис.119.).

../../_images/ADS_UserNIFI_DataFlow_Component-versions.png

Рис. 119. Версии компонентов

Каждый компонент на рабочей области также содержит эту информацию (Рис.120.).

../../_images/ADS_UserNIFI_DataFlow_Component-versions2.png

Рис. 120. Версия компонента

Изменение версии компонента

Для изменения версии компонента необходимо выполнить следующие действия:

  1. Кликнуть правой кнопкой мыши на компонент в рабочей области для отображения параметров конфигурации.
  2. Выбрать “Change version” (Рис.121.).
../../_images/ADS_UserNIFI_DataFlow_Change-version.png

Рис. 121. Параметры конфигурации компонента

  1. В диалоговом окне “Component Version” выбрать необходимую версию в раскрывающемся меню “Version” (Рис.122.).
../../_images/ADS_UserNIFI_DataFlow_Version.png

Рис. 122. Выбор версии компонента