使用Apache,我想处理一个zip,其中包含一个category.json文件和一些数据文件,如图所示。
somefile.zip
├──category.json
├──datafile-1
├──datafile-2
├──...
├──datafile-n示例category.json
{
"category": "history",
"rating" : 5
}我想做的是解压缩文件并将category.json数据作为属性应用于每个数据文件。
处理这个问题最好的方法是什么?
发布于 2020-05-10 21:24:40
Myabe不是最好的,而是一种方法:
1)解压缩
2)使用基于routeOnAttribut文件名的category.json
3)在category.json流文件中作为attribut检索类别
4)重新压缩所有文件,但要保持攻击。
5)再次解压缩并保持attribut,您的所有流文件都将包含attribut类别。
发布于 2020-05-11 01:11:59
我建议从ListFile和FetchFile (或它自己的GetFile )组合开始检索存档,CompressContent提取组件文件,RouteOnAttribute使用files文件文件名属性分隔包含category.json的流文件,以及EvaluateJSONPath处理器检索该流文件的JSON内容并将某些值填充到属性中。
从这里开始,您的问题是如何更新包含该存档中的一个数据文件的每个流文件的NiFi流文件属性,还是将提取的JSON应用到磁盘上的数据文件中。
假设前者,您可以将提取的JSON写入变量或参数(使用ExecuteScript这样做),并使用UpdateAttribute将这些属性应用到由CompressContent处理器产生的其他流文件中。
https://stackoverflow.com/questions/61717806
复制相似问题