设备数据可通过消息路由能力流转至流数据分析,您可以利用流数据分析方便地对设备数据进行实时计算分析并将结果输出到RDS或本地文件中。

本文以设置当CPU使用率大于10%时输出报警信息到为本地文件的任务为例,说明边缘部分流数据分析的使用方法。

操作步骤

  1. 登录物联网平台控制台
  2. 参考流数据分析,创建、设置并发布数据分析任务。

    其中,任务类型需选择SQL执行任务需选择边缘端



  3. 为创建的任务,编辑SQL。
    -- CPU高负载报警
    create table property (
        propertyName varchar,
        propertyValue varchar,
        productKey varchar,
        deviceName varchar,
        gmtCreate varchar,
        ts varchar
    ) with (
        type = 'custom',
        tablefactoryclass = 'com.alibaba.blink.streaming.connector.edgehub.EdgeHubTableFactory',
        jsonParser = 'device_property'
    );
    
    create table print_file (
        productKey varchar,
        deviceName varchar,
        cpu double,
        ts timestamp,
        gmtCreate timestamp
    ) with (
        type = 'custom',
        class = 'com.alibaba.blink.connector.file.FileSink',
        filePath = '/linkedge/run/debug/high_cpu_alter.txt'
    );
    
    insert into
        print_file
    select
        productKey,
        deviceName,
        cast (propertyValue as double),
        to_timestamp (cast (ts as bigint)),
        to_timestamp (cast (gmtCreate as bigint))
    from
        property
    where
        propertyName = 'cpu_usage'
        and cast (propertyValue as double) > 10;
  4. 保存任务并发布。
  5. 参考边缘部分流数据分析,将任务分配到已有的边缘实例中,并部署边缘实例。
  6. 登录到边缘网关查看报警信息。
    进入 /linkedge/run/debug/high_cpu_alter.txt文件 ,查看输出结果。
    2018-10-13 15:01:26.404 -> productKey, deviceName, cpu, ts, gmtCreat
    2018-10-13 15:01:43.964 -> a1hVtA6RAiU,gateway1010,21.243523,2018-10-13 15:01:43.6,2018-10-13 15:01:43.618
    2018-10-13 15:02:13.607 -> a1hVtA6RAiU,gateway1010,20.971867,2018-10-13 15:02:13.587,2018-10-13 15:02:13.597