0

我正在从 URL 获取一些带有 API 的数值数据,并且我正在寻找一种在将数据放入文件目录之前在 apache nifi 中进行一些数学运算的方法。现在已经谢谢了。

顺便说一句,我正在使用 InvokeHTTP 处理器来获取数据并将文件放在我正在使用 PutFile 处理器的某个地方。我搜索了一些相关网站,但找不到工作方法。

4

3 回答 3

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

于 2019-07-09T21:13:04.803 回答
0

尝试使用QueryRecord处理器和定义Record Reader/Writer控制器服务来读/写流文件。

  • QueryRecord通过使用Apache calcite SQL 查询和对流文件的数学运算,将新属性添加到处理器。

  • SQL 查询的结果将添加到outgoing flowfile您想要的格式中。

于 2019-07-09T13:12:37.733 回答
0

如果要获取整个文件然后运行操作,可以尝试 ExecuteStreamCommand。或者,您可以摆弄流文件中的变量 - 取决于您的操作有多大。

例如,如果您有一些初始变量,您可以将它们包含在文件名中,然后提取它们,在流文件的变量中运行操作,然后添加到原始文件的底部

于 2019-07-10T13:51:40.327 回答