編輯人(全網同名):酷酷的誠 郵箱:[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:
結果可以發現,額外輸出統計了自定義的三個屬性
公衆號
關注公衆號 得到第一手文章/文檔更新推送。