NiFi: маршрутизация CSV, разделение по контенту и смена имени на тот же контент - PullRequest
0 голосов
/ 05 октября 2018

У меня есть этот образец csv файла:

school, city, person_id, drivers_license_number
Georgetown, DC, 1, 1111
Vanderbilt, Nashville, 2, 2222
Ole Miss, Oxford, 3, 3333
Penn State, University Park, 4, 4444
NYU, New York City, 5, 5555
Georgetown, DC, 6, 6666
Georgetown, DC, 7, 7777
NYU, New York City, 8, 8888
Ole Miss, Oxford, 9, 9999
Vanderbilt, Nashville, 10, 1010
Penn State, University Park, 11, 1212

TL / DR, я хочу направить этот csv через NiFi и сохранить в отдельные csv файлы в столбце school,например, все три Georgetown записи должны быть сохранены в один файл с заголовками столбцов.

Я знаю, что мой Q похож на это , это и это .

Мои настройки пока:

enter image description here

Я использую GetFile для подключения к моему каталогу, а PartitionRecord настроен на /school:

enter image description here

Я думаю, что я ошибаюсь здесь:

enter image description here

Я настроил ExtractText какэто:

enter image description here

И последний этап, PutFile просто сохраняет все обратно в тот же файл .txt, но сгруппирован по school.Я не уверен, как изменить имя файла в зависимости от школы или как перенаправить их в свои файлы.

1 Ответ

0 голосов
/ 05 октября 2018

У вас не должно быть SplitText или ExtractText, файлы потоков, поступающие из PartitionRecord, уже будут сгруппированы по школам, один файл потоков на школу.Поместите процессор UpdateAttribute между PartitionRecord и PutFile и установите имя файла = $ {school}, чтобы изменить имя файла на имя школы.

...