Разделите CSV-файл в записях и сохраните в формате CSV-файла - Apache NIFI - PullRequest
0 голосов
/ 12 декабря 2018

Я хочу сделать следующее:

Я хочу разделить входной файл на регистры, преобразовать каждую запись в файл и оставить все файлы в каталоге.

Мой файл .csv имеет следующую структуру:

    ERP,J,JACKSON,8388 SOUTH CALIFORNIA ST.,TUCSON,AZ,85708,267-3352,,ALLENTON,MI,48002,810,710-0470,369-98-6555,462-11-4610,1953-05-00,F,
ERP,FRANK,DIETSCH,5064 E METAIRIE AVE.,BRANDSVILLA,MO,65687,252-5592,1176 E THAYER ST.,COLUMBIA,MO,65215,557,291-9571,217-38-5525,129-10-0407,1/13/35,M,

Как видите, в нем нет строки заголовка.

Вот мой поток.enter image description here

Моя проблема в том, что когда Split Processor делит мой CSV на потоки по 400 строк, он не сохраняется в моем выходном каталоге.

Это первыйвремя использования NIFI, извините.

1 Ответ

0 голосов
/ 12 декабря 2018

Убедитесь, что ваш RecordReader controller service настроен правильно (delimiter..etc) для чтения входящего потокового файла.

  • Записано на разделенное значение как 1

Вам нужноиспользовать процессор UpdateAttribute перед процессором PutFile, чтобы изменить имя файла на уникальное значение (например, UUID) , если , если вы настроены PutFile процессор Стратегия разрешения конфликтов как Ignore

  • Причиной изменения имени файла является SplitRecord процессор будет иметь same filenameдля всех разделенных потоковых файлов.

Поток:

enter image description here

Я попробовал ваше дело и поток работал как ожидалось , используйте этот шаблон для справки и upload для вашего экземпляра NiFi, внесите изменения в соответствии с вашими требованиями.

...