CalculateRecordStat

 


編輯人(全網同名):酷酷的誠 郵箱:[email protected]


描述:

該處理器可以計算記錄集中的項數,也可以根據用戶定義的記錄集子集的條件提供計數。

屬性配置

在下面的列表中,必需屬性的名稱以粗體顯示。任何其他屬性(不是粗體)都被認爲是可選的,並且指出屬性默認值(如果有默認值),以及屬性是否支持表達式語言。

屬性名稱 默認值 可選值 描述
Record Reader   Controller Service API:
RecordReaderFactory
Implementations: Syslog5424Reader
GrokReader
JsonTreeReader
ScriptedReader
XMLReader
AvroReader
SyslogReader
CSVReader
JsonPathReader
用於讀取記錄的記錄閱讀器。
record-stats-limit 10   限制每個記錄路徑返回到前N個結果的單個統計信息的數量。
支持表達式語言:true(將使用流文件屬性和變量註冊表進行計算)

連接關係:

名稱 描述
sucess 如果一個流文件被成功地處理了,它會轉到這裏。
failure 如果一個流文件沒有被成功地處理了,它會轉到這裏。

讀取屬性:

沒有指定。

寫屬性:

名稱 描述
record.count 在flowfile中設置的記錄中的記錄的計數。
recordStats.<User Defined Property Name>.count 包含用戶定義屬性值的記錄的計數。
recordStats.<User Defined Property Name>.<value>.count 爲用戶定義的屬性發現的每個值都有自己的count屬性。要添加的前N個值計數的總數由極限配置定義。

狀態管理:

此組件不存儲狀態。

限制:

此組件不受限制。

輸入要求:

此組件需要傳入連接關係。

系統資源方面的考慮:

沒有指定。

應用場景:

該處理器用來統計一個特定格式的FlowFile中有多少個元素;

示例說明:

1:用GenerateFlowFile模擬生產一個json數組,用CalculateRecordStats統計這個數組有多少元素

流程圖:

 

簡單的json數組:


Reader設置:

 

 

 


結果:

 

2:record-stats-limit 屬性用於統計用戶自定義值,看示例:

輸入一個稍微複雜點的json數組 :

[
    {
        "name": "zhangsan",
        "sport": "Soccer"
    },
    {
        "name": "zhangsan",
        "sport": "Soccer"
    },
    {
        "name": "zhangsan",
        "sport": "Soccer"
    },
    {
        "name": "zhangsan",
        "sport": "Skiing"
    },
    {
        "name": "zhangsan",
        "sport": "Skiing"
    },
    {
        "name": "zhangsan",
        "sport": "Skiing"
    },
    {
        "name": "zhangsan",
        "sport": "Soccer"
    },
    {
        "name": "zhangsan",
        "sport": "Basketball"
    },
    {
        "name": "zhangsan",
        "sport": "Basketball"
    },
    {
        "name": "zhangsan",
        "sport": "Football"
    },
    {
        "name": "zhangsan",
        "sport": "Football"
    },
    {
        "name": "zhangsan",
        "sport": "Baseball"
    },
    {
        "name": "zhangsan",
        "sport": "Baseball"
    },
    {
        "name": "zhangsan",
        "sport": "Baseball"
    }
]

自定義 屬性 sport。limit設置爲2:

 


結果可以發現,額外輸出統計了自定義的兩個屬性

 


limit改爲3:

 


結果可以發現,額外輸出統計了自定義的三個屬性

 

公衆號

關注公衆號 得到第一手文章/文檔更新推送。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章