Как просто объединить потоковые файлы в nifi? - PullRequest
1 голос
/ 26 мая 2019

Допустим, у меня есть 100 потоковых файлов, созданных одним процессором, каждый из которых содержит свою строку. Я хочу получить новый файл потока, который содержит 100 строк. Как я могу это сделать?

Я пробовал процессор MergeContent, но он возвращает мне исходные 100 потоковых файлов.

Текущая конфигурация:

enter image description here

Обновление:

Я отладил вывод MergeContent, на первом шаге JOIN все выглядит нормально, поскольку данные 576.34 KB, которые содержат 100 строк. Но на втором шаге ATTRIBUTES_MODIFIED кажется, выводится только 1 строка для окончательного результата.

enter image description here

Обновление:

Это вся моя процедура.

  1. Получить от кафки по одному.
  2. Преобразование сообщения kafka в одну строку строки в одном файле потока.
  3. Объединение нескольких потоковых файлов в один.
  4. PutHDFS.

Теперь я застрял на шаге 3, я не могу объединить их один за другим. Меня не волнует порядок или атрибут, мне просто нужно ограничить число.

Обновление:

Я попытался установить correlation attribute на ${kafka.topic}, поскольку все файлы потока из одной и той же темы kafka, но они все еще не могут объединиться:

enter image description here

1 Ответ

0 голосов
/ 28 мая 2019

Используете ли вы оригинальные или объединенные отношения с MergeContent процессора? Первый предоставит вам те же 100 потоковых файлов, если вам понадобится дополнительная обработка; последний даст вам один потоковый файл с содержимым всех объединенных потоковых файлов. Из вашего списка провенанса видно, что событие слияния происходит успешно, поэтому проверьте еще раз, какие отношения вы используете. Если возможно, опубликуйте скриншот вашего потока.

...