2017-05-03 133 views

回答

3

我并不熟悉Streamsets,但我会尽力帮助NiFi。你的平面文件是静态的吗?如果是这样,你是否想直接替换值?你应该可以使用ReplaceTextWithMapping处理器。如果不是直接替换,则可以使用平面文件中的值预填充DistributedMapCache,然后使用FetchDistributedMapCache对HBase记录进行查找。

如果一切都失败了,那么如果您对诸如Groovy,Javascript或Jython等脚本语言感到满意,可以使用ExecuteScriptInvokeScriptedProcessor编写“连接”部分。

在支持CSV文件,属性文件和内存查找的查找/增强处理器上有一个open Jira case(取得了一些很好的进展)。

+0

谢谢,FetchDistributedMapCache似乎是我正在寻找的。它也可以定期做。例如,我有一个表,不断填充新行,我想每隔一小时为前一小时数据(与其他静态表上的连接)汇总一次。那么NiFi会记得哪些时间已经汇总,哪些需要在剩余时间内选择?聚合将在少数列上具有SUM/AVG。 –

+0

它不会进行聚合,缓存仅用于查找。在即将发布的NiFi 1.2.0版本中,您可以使用UpdateAttribute在文件流经时保持运行计数/总和 – mattyb