节点编程任务是通过拖拽节点的方式,建立设备数据输入与输出的关系,通过设置属性过滤数据,也可分流数据。下文介绍如何创建一个节点编程任务。
操作步骤
- 登录数据分析控制台,在顶部导航栏上选择任务开发。
- 在流数据任务开发页面,单击新建流数据任务,配置参数,并单击确认。
表 1. 参数说明 参数 描述 开发类型 此处选择节点编程。 任务名称 设置节点编程任务名称。支持中文、英文大小写、数字、下划线(_)、中划线(-)、英文括号、空格,长度不超过40个字符。 任务描述 填写任务描述,不可为空。支持中文、英文大小写、数字、下划线(_)、中划线(-)、英文括号、空格,长度不超过40个字符。 用途 选择在云端或边缘端执行任务 创建节点编程任务后,自动跳转到流数据任务开发工作台,您可以采用拖拽的方式将节点拖入到右侧空白处进行编排。说明 您也可以在流数据任务开发页面单击对应任务列表中的任务卡片,进入节点编程的页面。节点编程目前有设备输入和输出两个必选节点,数据过滤和聚合计算两个基础运算节点,还有异常检测和业务表关联两个高级节点。
您可以通过画布底部、顶部的工具栏,对画布及节点进行放大、缩小、整理节点位置、保存等操作。
说明 本文图片所示为默认主题(亮色)。物联网数据分析支持设置工作台主题样式功能,您可单击工作台右上角的设置按钮,修改主题为暗色主题。 - 每个节点编程任务默认有一个输入节点和输出节点,选中输入节点图标,在页面右侧设置输入节点参数。
说明 每个节点编程任务仅支持添加一个设备输入节点。
选择输入节点来自于哪个产品、设备,需要哪些属性。输出节点里会相应显示选中的属性。
如果需要删除节点或关联线,则先选中节点或关联线,再单击右键选择删除或按Delete键即可删除。
- 拖拽一个数据过滤节点,过滤掉不想要的数据。
将输入节点的出口和数据过滤节点的入口用线连接起来,然后单击数据过滤节点图标进行参数设置。
下图添加了2个数据过滤条件,电池电量大于等于65和电池电量大于等于85。
还可以再添加一个数据过滤节点,条件是第一个过滤节点的反向条件,例如电池电量小于65和电池电量小于85。
通过数据过滤节点,即可实现数据过滤,丢弃掉不想要的数据,也可以实现数据分流。
- 为两个流分别接上聚合计算节点。
表 2. 参数说明 参数 说明 节点名称 为聚合计算节点设置名称。 统计粒度 分为如下两种。 - 单个设备:以设备为粒度,分别聚合计算每个已选择的设备属性。
- 所有设备:以产品为粒度,聚合计算产品下所有已选择的设备属性。
统计维度 用于分类统计,代表SQL语法中的GoupBy,只会列出非数值类型的属性。 说明 若统计粒度选择了单个设备,则统计维度默认选择设备名称。计算度量 选择数值类型的属性用于聚合计算。 统计函数 统计函数支持最大,最小,平均值和求和。 时间窗口类型 取某个时间段的数据,进行统计。有如下两种类型。 - 滚动窗口:根据窗口时长参数中设置的周期(例如5分钟),每过5分钟,聚合计算一次该5分钟内的数据,即不会重叠计算数据。
- 滑动窗口:根据窗口时长和滑动步长参数中设置的周期(例如窗口时长5分钟,滑动步长2分钟),每2分钟聚合计算一次最近5分钟内的数据,即可能会重叠计算数据。
窗口时长 指在多长的时间范围内按照窗口类型进行聚合统计操作。 滑动步长 时间窗口类型选择滑动窗口时,需要设置该参数,指窗口在多久时间间隔后滑动一次。 - 为每个流再添加一个数据源输出节点,将数据输出至数据库中。
单击数据源输出节点,进行设置。
选择输出数据源和数据表,将输出节点与数据表中相关字段一一映射。
例如,将聚合计算中产生的节点“工作电压_最大值”与表中“max_double”字段进行映射,那么数据导出后,可以在数据表中max_double字段找到工作电压最大值的数据。说明 数据表中字段数据类型需要与节点数据类型匹配。表中字段不要重复使用,每个字段对应唯一一个节点。 - 单击画布上方的保存图标,保存建立的任务。
- 任务设置完毕后,单击上方的发布图标即可进行任务发布。
发布之后,后台会开启实时数据分析任务进行实时计算,将计算结果不断的输出到设置的数据源的数据表中。说明 若任务在边缘端执行,您还需根据边缘端流数据分析内容,完成边缘任务部署。
- (可选)发布状态的任务可以执行撤回操作。
撤回之后,后台会停止实时数据分析任务,数据源输出节点也就不会再有数据输出到数据表了。但是数据表里已有的数据还会保留。
异常检测
以下内容将指导您如何新建一个使用异常节点的任务。
- 拖拽设备输入节点和异常检测节点。
- 检测规则目前支持2种,连续N个点小于阈值A和连续N个点超出阈值B,这两个规则之间是“或”的关系,只要其中一个规则满足就会输出异常。
- 检测属性此处先选择工作电压(只能选择一个数值型属性)。
假设,a设备上报数据的时间间隔是10秒,b检测规则是连续3个样本数据小于阈值9,这样如果要有3个样本则需要30秒的时间。
如果希望样本数足够大,例如是3个样本的6倍,则时间窗口至少=30秒*6倍=3分钟(这样能保证至少有18个样本数据);时间窗口选择3分钟意味着会每三分钟为一个窗口去检测异常(18个样本里是否有连续3个样本数据小于阈值9),关闭后再开启下一个三分钟的窗口接着检测。
- 输出节点为时间、检测规则、异常数据。
- 再添加一个数据源输出节点。
这样可以将检测到的异常数据输出到设定的数据源里的数据表。
- 单击保存图标按钮,保存建立的任务。
业务表关联
以下内容将指导您如何使用维表连接节点。
使用维表连接节点,您可以将其他数据源引入节点编程一起使用,丰富数据类型。
- 拖拽设备输入节点。
- 拖拽业务表关联节点,并设置参数。
- 指定希望引入的数据源(指定数据源和维表)
- 设置连接方式,确定两个表的关联方式与最终的数据集合范围,即下图阴影部分。
目前支持两种连接方式,左图为内连接,右图为左连接。
- 新增连接条件。只有相同数据类型的主键才能连接两个表。支持添加多个连接条件。
- 在列表中勾选希望输出的字段。其中,“主键”必须勾选。
- 再添加一个数据源输出节点。
这样数据就可以输出到设定的数据源里的数据表中。
- 单击保存图标按钮,保存建立的任务。