Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
NiFi:路由CSV,按内容拆分,&;按相同内容更改名称_Csv_Apache Nifi - Fatal编程技术网

NiFi:路由CSV,按内容拆分,&;按相同内容更改名称

NiFi:路由CSV,按内容拆分,&;按相同内容更改名称,csv,apache-nifi,Csv,Apache Nifi,我有这个示例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,

我有这个示例
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,我想通过NiFi将此
csv
路由,并通过
school
列保存到单独的
csv
文件中,例如,所有三个
Georgetown
条目都保存到一个带有列标题的文件中

我知道我的Q类似于,和

到目前为止,我的设置:

我使用
GetFile
连接到我的目录,并在
/school
上配置
PartitionRecord

我想我在这里出错了:

我将
ExtractText
配置为:


最后一个阶段,
PutFile
只是将所有内容保存回同一个
.txt
文件中,但按
school
分组。我不知道如何根据学校的不同来更改文件名,或者如何将它们发送到自己的文件中

您不应该使用SplitText或ExtractText,来自PartitionRecord的流文件已经按学校分组,每个学校一个流文件。在PartitionRecord和PutFile之间放置一个UpdateAttribute处理器,并设置filename=${school}以将文件名更改为学校名称。

如何处理拆分/matched/unmatched/original/etc-以上这些路由是否正确?或者我应该将故障/原始/etc路由到LogAttribute,还是其他什么?谢谢,您的建议非常有效-(最后一个问题,我保证),PutFile将它们保存为txt文件,我如何将输出更改为csv文件?我不确定您的意思,csv文件只是碰巧以某种方式格式化的文本,如果您希望它具有.csv扩展名,那么在UpdateAttribute中,只需将其文件名=${school}.csvI现在就意识到这一点。谢谢