簡體   English   中英

NiFi-控制順序與EnforceOrder和MergeContent處理器合並兩個數據流

[英]NiFi - Control de order merging two dataflows with EnforceOrder and MergeContent processor

我試圖使用EnforceOrder處理器以確定的順序進行合並。 為此,這是我的流程: 在此處輸入圖片說明

在updateAttribute中,我正在生成一個屬性以設置合並中所需的順序。 在左邊的一個中,我將值設置為“ 1”,在另一個中,我將其值設置為“ 2”。

在此處輸入圖片說明

接下來是EnforceOrder的配置:

在此處輸入圖片說明

問題在於,僅到達process.order = 1的流,而沒有取出數字2。我在做什么錯?

干杯

使用EnforceOrder處理器來控制流文件到達MergeContent處理器的順序。

  • 使用UpdateAttribute處理器將序列號添加到流文件中。

例:

  • 考慮2個流文件,與流文件 1相比, 流文件2 (該內容首先需要顯示)的sequence number低,然后將success連接饋送到MergeContent處理器。通過使用forceforceorder處理器,我們確保流文件2將在流文件1之前進入Mergecontent處理器。 。

請參考此內容,並使用強制命令模板熟悉enforce order處理器。

更新:

我認為問題在於EnforceOrder配置,

  • 組標識符配置為${filename}因此,如果您有兩個不同的文件名,則處理器不會等待這兩個文件名。

  • 要解決此問題,請在UpdateAttribute處理器UpdateAttribute保持通用”屬性 (例如group_name為gn),然后在Group Identifier屬性值中使用與${group_name}相同的屬性名稱。

  • 自行將Skipped and Wait連接連接到EnforceOrder處理器。

UpdateAttributeConfigs:

在此處輸入圖片說明

EnforceOrderConfigs: 在此處輸入圖片說明

請使用模板作為參考,並將其上傳到您的NiFi實例,以檢查流程如何運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM