在物联网时代,数量庞大的“物”会产生PB级的海量数据,传统的数据处理服务的处理速度已无法跟上数据产生的速度。如果没法及时分析与利用这庞大的物联网设备数据,就无法将数据的价值最大化, 大数据 分析能力的建设对物联网企业来说又成为了一个新的挑战。针对这种情况,大数据处理服务应运而生。服务提供商提供大数据处理平台,为企业消除了大数据处理的效率问题和可靠性问题,让企业能够专注于物联网数据的分析与利用。
----------方案总览----------
物联网大数据根据数据类型的不同,分析方式也不同。
实时数据
有些数据的实时性很强,如果没有及时分析处理就会失去价值,甚至可能造成损失,我们称之为实时数据。典型的实时数据包括设备位置信息、设备实时状态等,应用于实时监控、实时告警等场景,例如,车辆实时上报位置数据,实时分析后呈现到交通监控中心的大屏上,交通专家根据实时数据下达各种交通控制决策,如红绿灯时间调整等。为了实现高实时性,我们可以采用实时流分析方案,从 物联网平台 对外的数据通道中实时提取流动数据,分析和处理之后再输出至数据通道继续流转,保证呈现的数据永远是最“新鲜”的。
时序数据
有些数据实时性没那么强,但是和时间顺序强相关,分析后的数据需要分类后按时序储存,并提供按时序浏览、查询数据的能力,我们称之为时序数据。典型的时序数据包括设备移动路径、股票价格曲线等,应用于行为分析、趋势预测等场景,例如,基于物联网的公路监控系统保存了近期所有车辆的行驶路径,警方可随时从中提取指定嫌疑人车辆的形式的路径,推测出嫌疑人的目的地,从而进行包抄逮捕。时序数据的分析一般依赖于 时序数据库 ,数据保存至时序 数据库 进行分类与排序,再由其他应用或服务从数据库中获取进行进一步处理。
离线数据
还有一些数据,对于实时性和有序性的要求都没那么强,分析时数据已经固化,我们称之为离线数据。典型的离线数据包括产品销量数据、景点游客数据等,应用于统计分析,总结盘点等场景,例如,物联网平台将自动售货机上报的销售数据汇总后保存,然后定期使用大数据分析平台分析销售数据,以报表形式呈现给厂家,协助厂家进行销售策略的调整。离线分析的挑战主要在于庞大的数据量,一般会采用分布式处理的方案来提升海量数据分析的效率。
在本文中,我们将为您重点介绍实时分析和离线分析两种方案,时序分析方案我们下次再分享(具有物联网时序分析能力的华为云数据分析服务后续也将上线,敬请期待)。
--------实时分析方案--------
首先,让我们了解一下这个方案使用的服务。
-
设备接入服务 :设备接入是华为云IoT物联网平台对海量设备进行联接、数据采集/转发、远程控制的 云服务 。可实现海量设备与云端之间双向通信连接、设备数据采集上云,支持上层应用通过调用API远程控制设备,还提供了与华为云其他云服务无缝对接的规则引擎,可应用于各种物联网场景。设备接入服务还可以现产品模型定义、设备生命周期可视化管理,提供强大的面向行业应用开放能力,帮助企业快速构建创新的物联网业务。
-
数据接入服务 (DIS):数据接入服务(Data Ingestion Service)为处理或分析流数据的自定义应用程序构建数据流管道,主要解决云服务外的数据实时传输到云服务内的问题。数据接入服务每小时可从数十万种数据源(如IoT数据采集、日志和定位跟踪事件、网站点击流、社交媒体源等)中连续捕获、传送和存储数TB数据。
-
实时流计算服务 (CS):实时流计算服务(Cloud Stream Service),是运行在公有云上的实时流式大数据分析服务,全托管的方式用户无需感知计算集群,只需聚焦于Stream SQL业务,即时执行作业。
-
对象存储服务 : 对象存储 服务( Object Storage Service ,OBS)是一个基于对象的海量存储服务,为客户提供海量、安全、高可靠、低成本的数据存储能力,包括:创建、修改、删除桶,上传、下载、删除对象等。其中对象是OBS中数据存储的基本单位,用户上传至OBS的数据都以对象的形式保存在桶中,而桶是是OBS中存储对象的容器。
-
数据仓库 服务(DWS):数据仓库服务(Data Warehouse Service)是一种基于公有云基础架构和平台的在线数据处理数据库,提供即开即用、可扩展且完全托管的分析型数据库服务。DWS是基于华为融合数据仓库GaussDB产品的 云原生 服务,兼容标准ANSI SQL 99和SQL 2003,同时兼容PostgreSQL/Oracle数据库生态,为各行业PB级海量大数据分析提供有竞争力的 解决方案 。
-
数据可视化 服务(DLV):数据可视化服务(Data Lake Visualization)是一站式数据可视化平台,适配云上云下多种数据源,提供丰富多样的2D、3D可视化组件,采用拖拽式自由布局,旨在帮助您快速定制和应用属于您自己的数据大屏。
该方案的数据流向如下:
-
物联网平台将设备上报的数据通过规则引擎功能转发至数据接入服务(DIS)。
-
实时流计算服务(CS)从DIS的通道中获取实时数据,通过SQL语句分析并处理后,再写入另一个DIS通道。
-
DIS以对象存储服务(OBS)为中介将分析结果转储至数据仓库服务(DWS)。
-
数据可视化服务(DLV)读取分析结果呈现为可视化报表。
实现该方案,您需要进行以下操作:
-
在DWS中创建一个集群并完成基本配置。
-
创建两条DIS通道,我们分别称之为输入通道和输出通道,然后为输出通道创建一个转储任务,将数据转储至DWS的集群。转储时会使用OBS桶临时存储转储数据,若没有OBS桶请创建一个。
-
在设备接入服务中创建一条规则,将设备上报数据转发至DIS的输入通道。
-
在CS中创建一个作业,实现从DIS输入通道中获取数据,分析处理后输出至DIS输出通道的功能。
-
在DLV中创建数据连接从DWS中获取数据,再创建数据大屏将数据可视化展示。
-
将上报数据的设备接入物联网平台(设备接入服务),并控制其上报数据。
详细操作指导请参考各个服务的帮助文档,本文不再赘述。
--------离线分析方案--------
首先,让我们了解一下这个方案使用的服务,前面已经介绍过的服务此处不再重复介绍。
MapReduce服务 :MapReduce服务(MRS)是一个在华为云上部署和管理Hadoop系统的服务,一键即可部署Hadoop集群。MRS提供租户完全可控的企业级大 数据集 群云服务,轻松运行Hadoop、Spark、HBase、Kafka、Storm等大数据组件,并具备在后续根据业务需要进行定制开发的能力。
该方案的数据流向如下:
-
物联网平台将设备上报的数据通过规则引擎功能转发至数据接入服务(DIS)。
-
DIS使用对象存储服务(OBS)作为中介,再将数据转储至MapReduce服务(MRS)。
-
MRS从OBS获取用户定制的分析程序包,运行程序分析数据,并保存分析结果(可写入持久化数据库或写成文件)。
-
数据可视化服务(DLV)读取分析结果呈现为可视化报表。
实现该方案,您需要进行以下操作:
-
在MRS中创建一个Hadoop分析集群。
-
参考MRS的开发指南开发一个大数据分析程序,实现读取JSON格式的数据分析并处理,然后写入本地数据库或者写成文件存到OBS。程序开发完成后需打包成JAR文件并上传至OBS桶,若您没有OBS桶请创建一个。
-
创建一条DIS通道,然后为该通道创建一个转储任务,将数据转储至MRS的集群。
-
在设备接入服务中创建一条规则,将设备上报数据转发至DIS的通道。
-
将上报数据的设备接入物联网平台(设备接入服务),并控制其上报数据。
-
在MRS中创建一个作业,执行OBS桶中的大数据分析程序。
-
在DLV中创建数据连接从MRS数据库或OBS中读取数据,再创建数据大屏将数据可视化展示。
详细操作指导请参考各个服务的帮助文档,本文不再赘述,但针对这个方案中的其中一种场景,我们提供了包含详细操作步骤和代码样例的物联网微认证,若您感兴趣,可购买微认证快速体验物联网大数据分析流程。