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