我有一个不断更新新项目的Json文件。 使用Nifi我想创建一个流从这个Json文件中提取内容,然后创建一个可以是CSV的输出文件,以便我可以在Excel中对它进行一些分析。 我是Nifi的新手,你可以提出一些关于这个事件的流程吗? 任何让我开始的事情都会更有帮助。从Json文件Nifi流式传输
0
A
回答
3
有此流程来执行一些操作,我可以提供一些方法来解决每个:
检索更新JSON文件:要不断地获得该文件(如果它已经改变)您可以使用连接到FetchFile处理器的ListFile处理器,并将FetchFile属性“完成策略”设置为“无”。这将使JSON文件保留在文件系统上。如果JSON文件不断重新生成,则可以使用“移动”或“删除”策略。
提取JSON值(如果文件内容被更改时替换):如果要查找的值位于相同位置(即始终存在相同的JSONPath表达式),则可以使用EvaluateJsonPath将值提取到属性中。要将值返回到内容中(用于转换为CSV),可以使用ReplaceText(使用表达式语言)将属性放回到内容中。
提取JSON值(如果新项目插入到文档中):如果项目是数组的一部分,则可以使用SplitJson为文档中的每个元素生成流文件。这将涉及更复杂的处理,因为您可能会忽略已经看到的元素。您可以使用ReplaceText(见上文)将特定值放入内容中,然后使用Put/FetchDistributedMapCache检查数组元素是否已经处理。
输出CSV:对于每个包含要作为CSV字段的属性的流文件,可以使用ReplaceText生成一行CSV。然后,您可以使用MergeContent创建完整的CSV文件。请注意,这将不包含标题,您可以使用最终的替换文字插入标题行,然后插入传入的内容。然后PutFile将CSV文件写入磁盘。
相关问题
- 1. 如何使用NiFi API在NiFi中传输流文件?
- 2. 从SharpSSH流式传输文件
- 3. 从文件流式传输变量
- 4. CodenameOne从PLS文件流式传输?
- 5. 流式传输wav文件
- 6. 使用WCF流式传输上传文件,从流式传输中读取微小的文件
- 7. NiFi:查看流文件
- 8. 传输文件流
- 9. 从Windows 8的SavePicker将文件流式传输到文件
- 10. 从iCloud流式传输?
- 11. 用spring mvc流式传输大文件
- 12. 实时流式传输MP4文件
- 13. 如何流式传输WAV文件?
- 14. 流式传输短声文件
- 15. http实时流式传输mp3文件
- 16. 实时流式传输MP4文件
- 17. 流式传输WAV文件。 (不记录)
- 18. Flash HTTP流式传输 - 多个文件
- 19. 用樱桃流式传输文件
- 20. 流式传输远程文件
- 21. 使用Django流式传输json数据
- 22. Spark:将json流式传输到parquet
- 23. 从JAX-RS流式传输pdf文件响应:'401:Unauthorized'for url
- 24. 使用JavaScript从Firebase存储流式传输视频文件
- 25. 从EventMachine处理程序流式传输文件?
- 26. 使用AudioToolbox从文件流式传输音乐
- 27. 如何从pcap文件流式传输组播(自动化)
- 28. 通过PHP从外部Web服务流式传输大文件
- 29. Apache Camel:如何从AWS流式传输大文件?
- 30. PHP - 将文件从桌面流式传输到站点