CalculateRecordStats

文档中心 › 组件索引 › CalculateRecordStats

CalculateRecordStats Processor

类型全限定名:cn.org.acal.lynxus.processors.standard.CalculateRecordStats

所属 Bundle:cn.org.acal.lynxus:lynxus-standard-nar:2.11.8

描述

计算记录集中的记录数,还可以选择计算每个类别的元素数,其中类别由用户定义的属性定义。

标签

recordstatsmetrics

属性

下表中,加粗的属性为必填项;其余为可选项。表格同时标注默认值、是否支持表达式语言,以及是否为敏感属性(值会被加密)。

名称默认值可选值描述
Record Reader控制器服务 API:
RecordReaderFactory
cn.org.acal.lynxus-lynxus-standard-services-api-nar-2.11.8
用于读取记录的Record Reader。
Record Stats Limit10将每个记录路径返回的单独统计数据的数量限制为前 N 个结果。
支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值)

动态属性

动态属性允许用户自定义属性的名称与值。

名称值描述
类别的名称。例如 sport指向类别值的 RecordPath。例如 /sport指定应计数的类别。例如,如果属性名为 'sport',值为 '/sport',处理器将计算 /sport 字段值为 'soccer' 的记录数、值为 'baseball' 的记录数等。这些计数将作为名为 recordStats.sport.soccer、recordStats.sport.baseball 的属性添加。

关系 (Relationships)

名称描述自动终止
failure如果由于任何原因无法处理 FlowFile,则会将其路由到此关系。否
success所有成功处理的 FlowFile 都会路由到此关系。否

写入的 FlowFile 属性

名称描述
record.countFlowFile 中记录集中的记录计数。
recordStats.<User Defined Property Name>.count包含用户定义属性值的记录计数。
recordStats.<User Defined Property Name>.<value>.count为用户定义属性发现的每个值将具有自己的计数属性。前 N 个值计数的总数

状态管理

该组件不存储状态。

受限 (Restricted)

该组件不受限。

输入要求

该组件要求有传入连接。

详细说明

CalculateRecordStats

此 Processor 接收一个 Record 集合,统计总记录数以及由动态属性定义的各类计数(每个动态属性将一个属性名 映射到一个 Record Path)。Record Path 计数提供两个层次:

  • 成功完成 Record Path 求值的所有记录的总数。
  • 按匹配 Record Path 操作的各个唯一值细分的计数。

考虑如下 Record 结构:

{
  "sport": "Soccer",
  "name": "John Smith"
}

此处一个合法的映射是 sport => /sport。

对于内容为上述 JSON 的 Record 集合,若共有 5 条记录,其中 soccer 出现 3 次、football 出现 2 次, 则会设置以下 Attribute:

  • record_count: 5
  • sport: 5
  • sport.Soccer: 3
  • sport.Football: 2