Off Limit Tagger

支持对数据进行阈值判断,其主要功能包括:

  • 基于指定的最大值或最小值的阈值判断,属于异常识别(Outlier Detection)中的基于大小值判断方法的实现。
  • 该算子针对流入数据的 record.measurepoint.value 字段,会根据用户设置的最大值和最小值阈值范围(从8种开闭区间之一+用户填的 min,max 值),来对每个数据(StreamSet中的单个Record)进行是否在 min,max 区间的判断:
    • 如果不在阈值区间内,则判断为异常,,输出字段 /attr/isOutlier 的值为 “true”
    • 如果 record.value 在阈值范围内,则 /attr/isOutlier 的值为 “false”
  • 另外,还会将这次判断设计的大小值,开闭区间等参数,封装进 /attr/outlierAttr 字段中。

配置详情

该算子的配置包括 GeneralBasic,和 Input/Output 的详细信息,各字段的配置如下:

General

名称 是否必须 描述
Name Yes 算子名称
Description No 算子描述
Stage Library Yes 算子所属的库
Required Fields No 数据必须包含的字段,如果未包含指定字段,则record将被过滤掉
Preconditions No 数据必须满足的前提条件,如果不满足指定条件,则record将被过滤掉
On Record Error Yes

对错误数据的处理方式,可选:

  • Discard:直接丢弃
  • Send to Error:发送至错误中心
  • Stop Pipeline:停止流任务运行

Basic

名称 是否必须 描述
Quality Filter No 根据数据质量过滤处理数据,只有符合质量条件的record才会进行此次处理

Input/Output

名称 是否必须 描述
Input Point Yes 数据输入点,格式为:{模型标识}::{测点标识}
OpenClose Yes 选择输入点阈值区间格式,可选(x,y)、(x,y]、[x,y)、[x,y]、(-∞,y)、(-∞,y]、(x,+∞)、[x,+∞)或(-∞,+∞)
Min-Max Yes 具体阈值区间参数取值,有2个参数时,需用逗号进行分隔,比如(x,y)选项的取值为”2,10”,则表示为实际阈值区间为(2,10)
Output Point Yes 数据输出点,格式为:{模型标识}::{测点标识}。当对输入点进行阈值判断后,Streaming会为超出了上下限的record打上越限标签,并输出打标结果,数据输出点是承载输出结果的测点。

输出结果

该算子的输出结果包含在 attr 结构体中,各字段的描述如下:

名称 数据类型 描述
isOutlier Boolean  
minValue Int/Double/Float 设置的阈值范围最小值
maxValue Int/Double/Float 设置的阈值范围最大值
enableMinJudger Boolean 是否开启最小值判断
enableMaxJudger Boolean 是否开启最大值判断

输出示例

../../../_images/minmax_outlier_result1.png