我有一个不断更新新项目的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. 从文件流式传输数字
- 3. CodenameOne从PLS文件流式传输?
- 4. 从文件流式传输变量
- 5. 从WCF服务流式传输文件
- 6. 从SharpSSH流式传输文件
- 7. 如何从节点流式传输JSON?
- 8. NodeJS从python流式传输JSON
- 9. 流式传输wav文件
- 10. 流式传输MP4文件
- 11. NiFi:查看流文件
- 12. 使用WCF流式传输上传文件,从流式传输中读取微小的文件
- 13. 传输文件流
- 14. 从Windows 8的SavePicker将文件流式传输到文件
- 15. 从挂载的smb文件系统流式传输文件
- 16. 从iCloud流式传输?
- 17. 从Sharepoint WCF流式传输
- 18. 如何流式传输MP3文件(iOS)
- 19. 用樱桃流式传输文件
- 20. 流式传输短声文件
- 21. 流式传输远程文件
- 22. 实时流式传输MP4文件
- 23. http实时流式传输mp3文件
- 24. 如何流式传输WAV文件?
- 25. Flash HTTP流式传输 - 多个文件
- 26. 流式传输WAV文件。 (不记录)
- 27. 在Django中流式传输CSV文件
- 28. iOS:大文件流式传输
- 29. io.lines()是否流式传输文件?
- 30. 在Node.js中流式传输大文件