我正在从URL使用API获取一些数值数据,并且正在寻找一种方法来在将数据放入文件目录之前在apache nifi中进行一些数学运算。现在已经谢谢了。
顺便说一句,我正在使用InvokeHTTP处理器来获取数据并将文件放置在我正在使用PutFile处理器的某个地方。我搜索了一些相关网站,但找不到可行的方法。
答案 0 :(得分:0)
尝试使用QueryRecord处理器并定义 Record Reader/Writer
控制器服务来读取/写入流文件。
向 QueryRecord
处理器添加新属性。
SQL查询的结果将以您想要的格式添加到 outgoing flowfile
。
答案 1 :(得分:0)
最终答案取决于您正在使用的数据是在FlowFile的内容中还是在属性中。如果数据足够小且仅需几次操作,则建议的方法是将数据作为属性使用,并使用NiFi的表达语言进行转换。
Apache文档[2]中有一部分数学运算[1]。操作范围从简单的操作数(如加号/减号)到公开java.lang.Math静态方法。
[1] https://nifi.apache.org/docs/nifi-docs/html/expression-language-guide.html#numbers [2] https://nifi.apache.org/docs.html
答案 2 :(得分:0)
如果要获取整个文件然后运行操作,可以尝试ExecuteStreamCommand。另外,您可以在流文件上随意修改变量-取决于操作的大小。
例如,如果您有一些初始变量,则可以将它们包含在文件名中,然后将其提取,在flowfile变量中运行操作,然后添加到原始文件的底部