2017-05-03 18 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