入门指引:数值型数据聚合处理

本教程能帮助你快速学习如何使用 时间窗口聚合模板 对数值类型流数据进行聚合处理。

前提条件

  • 已被授权流数据处理模块

  • OU已申请流数据处理资源

  • 已接入设备并且设备已经在发送数据

操作步骤

使用 时间窗口聚合模板 进行数值类型流数据处理的步骤如下:

  1. 创建并配置流数据处理任务

  2. 保存并发布任务

  3. 启动任务

  4. 查看任务运行结果

教程目标及数据准备

教程目标

本教程要实现的场景是:将原始采集点 test_raw 的数据进行每5分钟取最大值,取值结果输出给新点 test_5min

数据准备

  • 模型配置

本教程使用的模型 (test_Model) 配置如下:

功能类型

名称

标识符

测点类型

数据类型

测点

test_raw

test_raw

AI

DOUBLE

测点

test_5min

test_5min

AI

DOUBLE

备注

  • 其中 test_raw 为原始数据采集点,test_5min 是原始点要经过流数据处理聚合后输出的数据点名称。

  • 必须保证需要处理的输入点和输出点的测点类型相同。

  • 存储配置:对 test_rawtest_5min 点进行存储配置,为 test_raw 配置AI原始数据存储类型,为 test_5min 配置为AI分钟级规整数据存储类型;具体配置请参考 数据存储配置和读取

  • 数据接入:请参考 设备连接 来完成 test_raw 点数据的采集。

第一步:创建并配置流数据处理任务

  1. 进入控制台,点击 流数据处理 > 流开发 菜单可浏览当前组织所有已创建的流数据处理任务。双击某一任务,可进行详情查看并编辑。

  2. 在任务列表上方,点击 + 号添加新任务。输入流数据处理任务的名称和描述,并选择 时间窗口聚合模板。也可以选择导入已有任务配置文件,快速创建新的流数据处理任务。

  3. 配置流数据处理任务窗口策略

    • 窗口类型 选择固定窗口:表示按固定的时间窗口对数据做一次聚合运算,窗口连续且不重叠。

    • 延迟设置 选择:0 second 表示窗口不延迟,当下一个超出时间窗口的数据到达时,触发上一个窗口窗口销毁并进行聚合结果输出。

  4. 配置流数据处理策略。点击 新增策略,列表会新增一条记录。记录的配置项描述如下:

    • 输入点:选择AI原始数据采集点,本教程中选择 test_Modeltest_raw 测点

    • 阈值限定:对参与计算的数据点进行阈值过滤

    • 插补策略:对超出阈值范围的数据进行插补,目前只能选择丢弃,即超出阈值范围的数据不参与聚合计算

    • 聚合算法:设定处理算法,当某一时间窗口在销毁时,会对已到达的该窗口的数据进行处理,本教程选择max算法

    • 窗口大小:设定聚合算法作用的时间区间,本教程中选择 5min

    • 输出点:选择聚合结果输出点,本教程中选择 test_5min

第二步:保存并发布流数据处理任务

任务配置完成后,需要对配置进行保存,保存后可激活发布按钮。点击 发布,将任务发布上线。下图为任务配置示例:

../_images/ai_processing_strategy.png

第三步:启动流数据处理任务

进入 流数据处理 > 流运维 页面,就能看到已发布的所有任务了。找到已经发布的流任务,点击 启动 按钮启动任务。

备注

  • 启动任务之前,需确保组织已分配流数据处理资源。如需申请计算资源,请参考 资源申请及扩容

  • 如有运行中的流数据处理任务,启动新任务前,可暂停一个或多个运行中的任务,然后一并启动需要运行的任务。系统会为启动的任务重新分配计算资源。

第四步:查看任务运行结果

流运维 页面,在 名称 一栏中,点击已启动的流数据处理任务名称,可查看任务运行情况:

  • Summary: 查看任务运行情况总结,比如整体处理记录统计、各个时间段聚合情况。

  • Log: 点击页面右上角 View Logs 图标,可查看任务运行日志。

  • Results: 可通过接口 Get Asset AI Data with Aggregation Logic 来获取输出点 test_5min 的分钟级归一化数据。调用用Open API的代码示例,请前往 EnOS管理门户 > EnOS API,查看API文档。