Apache NIFI: из содержимого потока данных, разделенного и преобразованного в атрибуты Json

Я получил от своего Apache Kafka следующее содержимое потокового файла, и моя цель - разделить эти данные на разные атрибуты.

например дата расстояние и т. д.

а затем преобразовать эти атрибуты в Json (я знаю, какой процессор мне для этого нужен)

но я не знаю, какой процессор Nifi мне нужен для функции разделения и как должна выглядеть конфигурация

Пример содержания

2016-09-08 16: 40: 32.215 | 39 | 11 | Джейми Энгессер | 1594289134 | Маршрут 2 из Мемфиса в Литл-Рок | Нормальный | 40,76 | -88,77 | 1000 Отменить


person freak05    schedule 08.09.2016    source источник


Ответы (1)


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

  1. ExtractText - для извлечения отдельной текстовой записи в атрибут. Это может быть так же просто, как добавление настраиваемого свойства «строка» с регулярным выражением (.*) с использованием параметров строки по умолчанию.
  2. UpdateAttribute - для разбора отдельных полей строки на отдельные атрибуты. Функция getDelimitedField на языке выражений NiFi было бы здесь полезно. Например, ${line:getDelimitedField(1, "|")}, чтобы получить дату, ${line:getDelimitedField(6, "|")} для маршрута «Мемфис - Литл-Рок, Маршрут 2».
person James    schedule 08.09.2016