【物联网数据分析】物联网数据管道功能初探

举报
Orange Mark 发表于 2020/07/13 10:43:20 2020/07/13
【摘要】 在物联网的数据分析中,面临了设备上报的原始数据的格式不标准,设备上报数据可能存在质量问题,采集的IoT数据与目标分析对象缺乏关联等挑战,这样需要面向物联网实时处理,与物模型紧密结合,灵活易用的数据清洗功能。而传统的ETL工具不是专为物联网设计,不能完全满足要求。所以物联网数据管道是满足物联网应用场景的数据清洗服务。

一、背景介绍

    在数据分析中一个重要的环节就是获取和整理数据。一个通用的说法就是ETL,(Extract,Transform,Load),负责将分布的、异构数据源中的数据抽取到临时中间层后进行清洗、转换、集成,最后加载到数据仓库或数据集市中,成为联机分析处理、数据挖掘的基础

    ETL中工作量最大的通常是T部分(清洗,转换),往往占整个工作的2/3。当前大家说数据清洗时,基本上都是指ETL中的Transform部分。

二、问题和挑战

    在物联网的数据分析中,获取数据也是一个不可或缺的工作。虽然物联网平台的数据从设备采集而来,有一定格式,但是存在多种问题:

  1. 设备上报的原始数据的格式不标准。不同类型的设备上报的数据格式不一致,比如设备Id、时间事件、属性等字段可能都是不同。有的时间参数以时间戳标识,有的时间参数以UTC或者有时区标识。属性也存在多种不同JSON嵌套方式,或者取值的单位不一致,比如有的是米,有的是厘米等。

  2. 设备上报数据可能存在质量问题。不同于传统数据产生的过程,物联网数据是由各种能力参差不齐,部署与工作环境可能非常恶劣的设备产生,容易产生数据异常跳变,缺失等问题,导致了物联网的数据存在质量问题。而物联网的某些场景,比如工业的故障定位和预防性维护场景,对数据质量要求很高。

  3. 采集的数据与目标分析对象缺乏关联。IoT设备接入收到的数据所关联的对象并不是真正的设备,可能是物联网的网关,而网关只是通道,不是需要进行数据分析的设备。此时需要把数据重新按照设备来着组织。比如设备Id从网关Id转成最终的设备Id,属性按照不同设备来区分,这样网关上报的一条数据可能按设备会拆分成多条数据。

    在数据分析领域已经有很多ETL工具了,那为了什么需要适合物联网的数据清洗功能呢?因为:

  1. 传统ETL对接的数据来源都以各类数据库为主,较少直接对IoT实时流进行清洗操作,需要满足IoT的高并发,低时延处理要求;

  2. 传统ETL工具不是针对IoT场景设计,而是针对结构化数据进行处理,当面对物联网设备产生的非结构化数据时,因为无法理解设备物模型,致使很难高效处理。

  3. 传统ETL工具并没有针对IoT常见的清洗操作做特殊优化,比如提供插值处理、,用户需要大量coding完成脚本开发。

三、物联网数据分析中的数据管道

    在物联网分析服务的数据管道提供数据清洗的功能。数据管道在物联网数据分析服务的位置入下图所示;

    数据管道是物联网分析服务数据的统一入口,所有进入IoT数据分析服务的数据都必须通过数据管道处理。数据管道中包含3个部分:数据源,数据清洗和数据输出。

    数据源可以是IoT设备接入云服务,也可以是公有云的其他具有存储数据能力的其他云服务。当数据源时IoT设备接入云服务时,可以从IoT设备接入云服务获取设备模型定义,以方便的生成管道中的数据处理动作。

    数据清洗提供对物联网数据的转换功能,服务预置了常用的数据清洗算子,用户可以根据数据处理的要求来组合这些算子而不需要开发代码。

    数据输出表示的管道处理的结果和后续的目标。管道处理的结果数据仍然是设备数据,管道并没有改变数据的本质。管道的数据输出有以下目标:

  1. 数据输出到IoT数据分析服务中的资产模型,为资产建模提供设备数据来源;

  2. 数据输出到实时分析,以快速对设备数据进行故障检测等实时分析处理;

  3. 数据输出到存储,这样可以对数据进行时序分析和离线分析;

  4. 数据输出到其他云服务,以使用公有云丰富的云服务对数据进行进一步处理。

四、数据管道的使用场景

  1. 一个数据源对应一个管道同时对应一个数据存储

    这种方式是常用使用方式,数据源、管道、设备存储都是一对一关系。由于关系简单,便于管道的维护。

  2. 一个数据源对应多个管道对应不同数据存储

    一个数据源可能需要不同的数据处理,这几种不同清洗处理差异较大,且处理性能要求不同,需要进行资源隔离,这样可以用不同的管道,输出到不同存储。不同的存储可以设置不同的数据老化周期,以降低使用成本。

  3. 一个数据源对应多个管道对应同一数据存储

    同理,管道也支持输出到同一存储,但是要求不同管道间的数据不要有冲突。

    不同管道输出的数据即为不同的设备数据。所以对于资产模型和实时分析,通过选择管道来关联设备数据。


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。