要从CSV文件中移除多列,可以使用Apache Nifi的CSVReader
和CSVRecordSetWriter
来实现。以下是一个示例解决方法:
首先,使用GetFile
处理器读取CSV文件,并将其发送到CSVReader
处理器。
在CSVReader
处理器中,配置适当的属性,如字段分隔符、引用字符等。
然后,将CSVReader
处理器的输出连接到UpdateRecord
处理器。
在UpdateRecord
处理器中,配置适当的属性,如要移除的列、目标列的名称等。
将UpdateRecord
处理器的输出连接到CSVRecordSetWriter
处理器。
在CSVRecordSetWriter
处理器中,配置适当的属性,如字段分隔符、引用字符等,并指定输出的CSV文件路径。
最后,将CSVRecordSetWriter
处理器的输出连接到适当的目标处理器,如PutFile
处理器,用于将处理后的CSV文件保存到磁盘上。
以下是Nifi流程示例的XML代码:
RemoveColumnsFromCSV
100.0
100.0
1e72b6a6-df6d-3c5a-ffff-ffff9c3b8b8f
df0d2eb4-017b-1000-8e9d-2d0c87c39f98
5b40fc18-017b-1000-94ca-eb8aeaa24f8b
GetFile -> CSVReader
1e72b6a6-df6d-3c5a-ffff-ffff9c3b8b90
df0d2eb4-017b-1000-8e9d-2d0c87c39f98
5b40fc19-017b-1000-94cb-eb8aeaa24f8b
CSVReader -> UpdateRecord
1e72b6a6-df6d-3c5a-ffff-ffff9c3b8b91
df0d2eb4-017b-1000-8e9d-2d0c87c39f98
5b40fc1a-017b-1000-94cc-eb8aeaa24f8b
UpdateRecord -> CSVRecordSetWriter
5a9e1bcb-017b-1000-a8d1-af8d38