NIFI-調(diào)度器詳解

1.簡(jiǎn)介

NIFI每個(gè)處理器有多種調(diào)度規(guī)則,這里進(jìn)行一下詳細(xì)的介紹和說(shuō)明。

2.調(diào)度器設(shè)置界面

image

3.模式介紹

3.1 Timer driven

這是默認(rèn)模式。處理器將安排定期運(yùn)行。運(yùn)行處理器的時(shí)間間隔由“運(yùn)行時(shí)間表”選項(xiàng)定義(見(jiàn)下文)。

3.2 Event driven

選擇此模式時(shí),將觸發(fā)處理器以由事件運(yùn)行,并且當(dāng)FlowFiles進(jìn)入連接此處理器的Connections時(shí),將發(fā)生該事件。此模式目前被認(rèn)為是實(shí)驗(yàn)性的,并非所有處理器都支持。選擇此模式時(shí),“運(yùn)行計(jì)劃”選項(xiàng)不可配置,因?yàn)樘幚砥魑幢挥|發(fā)定期運(yùn)行,而是作為事件的結(jié)果。此外,這是“并發(fā)任務(wù)”選項(xiàng)可以設(shè)置為0的唯一模式。在這種情況下,線(xiàn)程數(shù)僅受管理員配置的事件驅(qū)動(dòng)線(xiàn)程池的大小限制。

3.3 CRON驅(qū)動(dòng)

當(dāng)使用CRON驅(qū)動(dòng)的調(diào)度模式時(shí),處理器被安排定期運(yùn)行,類(lèi)似于定時(shí)器驅(qū)動(dòng)的調(diào)度模式。然而,CRON驅(qū)動(dòng)模式以增加配置的復(fù)雜性為代價(jià)提供了顯著更大的靈活性。CRON驅(qū)動(dòng)的調(diào)度值是由六個(gè)必需字段和一個(gè)可選字段組成的字符串,每個(gè)字段由空格分隔。這些字段是:

Field Valid values
Seconds 0-59
Minutes 0-59
Hours 0-23
Day of Month 1-31
Month 1-12 or JAN-DEC
Day of Week 1-7 or SUN-SAT
Year (optional) empty, 1970-2099

通常通過(guò)以下方式之一指定值:

  • 數(shù)字:指定一個(gè)或多個(gè)有效值。您可以使用逗號(hào)分隔列表輸入多個(gè)值。
  • 范圍:使用 <number>-<number> 語(yǔ)法指定范圍。
  • 增量:使用 <start value>/<increment>語(yǔ)法指定增量。例如,在“分鐘”字段中,0/15表示分鐘 0,15,30 和 45。
  • * - 表示所有值對(duì)該字段都有效。
  • ? - 表示未指定特定值。此特殊字符在“星期幾”和“星期幾”字段中有效。
  • L - 您可以將L附加到星期幾值中的一個(gè),以指定該月中該日的最后一次出現(xiàn)。例如,1L表示該月的最后一個(gè)星期日。

4.Concurrent Tasks

Scheduling選項(xiàng)卡提供名為'Concurrent Tasks'的配置選項(xiàng)。這可以控制處理器將使用的線(xiàn)程數(shù)。換句話(huà)說(shuō),它控制此處理器應(yīng)同時(shí)處理多少個(gè)FlowFiles。增加此值通常會(huì)使處理器在相同的時(shí)間內(nèi)處理更多數(shù)據(jù)。但是,它通過(guò)使用其他處理器無(wú)法使用的系統(tǒng)資源來(lái)實(shí)現(xiàn)此目的。這基本上提供了處理器的相對(duì)權(quán)重 - 它控制應(yīng)該將多少系統(tǒng)資源分配給此處理器而不是其他處理器。該字段適用于大多數(shù)處理器。但是,某些類(lèi)型的處理器只能使用單個(gè)“并發(fā)”任務(wù)進(jìn)行調(diào)度。

5.Run Schedule

"運(yùn)行計(jì)劃”指示應(yīng)該安排處理器運(yùn)行的頻率。此字段的有效值取決于所選的調(diào)度策略(參見(jiàn)上文)。如果使用事件驅(qū)動(dòng)的調(diào)度策略,則此字段不可用。使用定時(shí)器驅(qū)動(dòng)的調(diào)度策略時(shí),該值是由數(shù)字后跟時(shí)間單位指定的持續(xù)時(shí)間。例如,1 second5 mins。默認(rèn)值0 sec表示處理器應(yīng)盡可能頻繁地運(yùn)行,只要它有要處理的數(shù)據(jù)即可。這適用于0任何持續(xù)時(shí)間,而不管時(shí)間單位(即,0 sec0 mins,0 days)。有關(guān)適用于CRON驅(qū)動(dòng)的調(diào)度策略的值的說(shuō)明,請(qǐng)參閱CRON驅(qū)動(dòng)的調(diào)度策略本身的說(shuō)明。

6.Execution

執(zhí)行設(shè)置用于確定處理器將被調(diào)度執(zhí)行的節(jié)點(diǎn)。選擇“所有節(jié)點(diǎn)”將導(dǎo)致在集群中的每個(gè)節(jié)點(diǎn)上調(diào)度此處理器。選擇“主節(jié)點(diǎn)”將導(dǎo)致此處理器僅在主節(jié)點(diǎn)上進(jìn)行調(diào)度。已為“主節(jié)點(diǎn)”執(zhí)行配置的處理器由處理器圖標(biāo)旁邊的“P”標(biāo)識(shí):

7.Run Duration

“調(diào)度”選項(xiàng)卡的右側(cè)包含一個(gè)用于選擇“運(yùn)行持續(xù)時(shí)間”的滑塊。這可以控制處理器每次觸發(fā)時(shí)應(yīng)安排運(yùn)行的時(shí)間。在滑塊的左側(cè),標(biāo)記為“較低延遲”,而右側(cè)標(biāo)記為“較高吞吐量”。處理器完成運(yùn)行后,必須更新存儲(chǔ)庫(kù)才能將FlowFiles傳輸?shù)较乱粋€(gè)Connection。更新存儲(chǔ)庫(kù)的成本很高,因此在更新存儲(chǔ)庫(kù)之前可以立即完成的工作量越多,處理器可以處理的工作量就越多(吞吐量越高)。但是,這意味著在上一個(gè)Process更新此存儲(chǔ)庫(kù)之前,下一個(gè)Processor無(wú)法開(kāi)始處理這些FlowFiles。結(jié)果是,延遲時(shí)間會(huì)更長(zhǎng)(從開(kāi)始到結(jié)束處理FlowFile所需的時(shí)間會(huì)更長(zhǎng))。因此,滑塊提供了一個(gè)頻譜,DFM可以從中選擇支持較低延遲或較高吞吐量。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容