Nifi 開發小技巧(Funnel)

abehsu
3 min readJul 7, 2019

--

這篇主要會說明如何運用Funnel 來做開發

運用場景

我們來看看下面的這個例子,假設這是已經在 Running 的 nifi flow,我想要在 GenerateFlowFile 以及 UpdateAttribute 中間再加上一些功能,但是我不想讓中 間Queue 住的 FlowFile消失,我們能怎麼做呢?

假設我現在要在中間加上的是一個RouteAttribute的Processor,我們能怎麼做呢?

Step 1 . 新增 1 個 RouteOnAttribute

檔案裡面依據type作分流,只抓type A and type B

Step2. 新增 2 個 Funnel 和 RouteOnAttrubte 做連結

第2個Funnel 是為了保留原本 Queue 的 flowfile,避免後面如果邏輯有錯,這些Flowfile就不能用了

Step3. 將上面 4 個 指向UpdateAttribute的連結,指向這個分流的 Funnel

Step4. 驗證 RouteOnAttribute 邏輯是否正確

Step5. 驗證邏輯正確後,將原本測試的部分刪除

Step6. 將 RouteOnAttribute 指向後面的流程

如果unmatch我們將會Automatically Terminate Relationships

Step7. 再加上一個Funnel將原本的4個RelationShip指向它

Step8. 將 Funnel 上 Queue住的 Flowfile Relationship 指向 RouteOnAttribute

Step9.清掉右邊那 2 顆 Funnel

Step10. 將左邊 4 個 Relationship 指向 RouteOnAttribute

Step11. 最後將最後一個Funnel刪除

--

--

abehsu
abehsu

Written by abehsu

喜歡探索不同領域的人事物,喜歡將自己學習到的也分享給大家,並產生共同的討論,從中得到回饋。 Linkedln(https://www.linkedin.com/in/hsuyuming/)

No responses yet