NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

如何进行物联网大数据分析?华为云 IoT 告诉你

  • 2020-03-23
  • 本文字数:3041 字

    阅读完需:约 10 分钟

如何进行物联网大数据分析?华为云IoT告诉你

在物联网时代,数量庞大的“物”会产生 PB 级的海量数据,传统的数据处理服务的处理速度已无法跟上数据产生的速度。如果没法及时分析与利用这庞大的物联网设备数据,就无法将数据的价值最大化,大数据分析能力的建设对物联网企业来说又成为了一个新的挑战。针对这种情况,大数据处理服务应运而生。服务提供商提供大数据处理平台,为企业消除了大数据处理的效率问题和可靠性问题,让企业能够专注于物联网数据的分析与利用。

方案总览

物联网大数据根据数据类型的不同,分析方式也不同。


方式 1:有些数据的实时性很强,如果没有及时分析处理就会失去价值,甚至可能造成损失,我们称之为实时数据。典型的实时数据包括设备位置信息、设备实时状态等,应用于实时监控、实时告警等场景,例如,车辆实时上报位置数据,实时分析后呈现到交通监控中心的大屏上,交通专家根据实时数据下达各种交通控制决策,如红绿灯时间调整等。为了实现高实时性,我们可以采用实时流分析方案,从物联网平台对外的数据通道中实时提取流动数据,分析和处理之后再输出至数据通道继续流转,保证呈现的数据永远是最“新鲜”的。


方式 2:有些数据实时性没那么强,但是和时间顺序强相关,分析后的数据需要分类后按时序储存,并提供按时序浏览、查询数据的能力,我们称之为时序数据。典型的时序数据包括设备移动轨迹、股票价格曲线等,应用于行为分析、趋势预测等场景,例如,基于物联网的公路监控系统保存了近期所有车辆的行驶轨迹,警方可随时从中提取指定嫌疑人车辆的形式的轨迹,推测出嫌疑人的目的地,从而进行包抄逮捕。时序分析一般依赖于时序数据库,数据保存至时序数据库进行分类与排序,再由其他应用或服务从数据库中获取进行进一步处理。


方式 3:还有一些数据,对于实时性和有序性的要求都没那么强,分析时数据已经固化,我们称之为离线数据。典型的离线数据包括产品销量数据、景点游客数据等,应用于统计分析,总结盘点等场景,例如,物联网平台将自动售货机上报的销售数据汇总后保存,然后定期使用大数据分析平台分析销售数据,以报表形式呈现给厂家,协助厂家进行销售策略的调整。离线分析的挑战主要在于庞大的数据量,一般会采用分布式处理的方案来提升海量数据分析的效率。


在本文中,我们将为您重点介绍实时分析和离线分析两种方案,时序分析方案我们下次再分享(华为云物联网时序分析服务近期上线,敬请期待)。

实时分析方案


首先,让我们了解一下这个方案使用的服务。


  • 设备接入服务:设备接入是华为 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.将上报数据的设备接入物联网平台(设备接入服务),并控制其上报数据。


详细操作指导请参考各个服务的帮助文档,本文不再赘述。

离线分析方案


首先,让我们了解一下这个方案使用的服务,前面已经介绍过的服务此处不再重复介绍。


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 中读取数据,再创建数据大屏将数据可视化展示。


本文转载自 华为云产品与解决方案 公众号。


原文链接:https://mp.weixin.qq.com/s/betjmO1QBKTu7N6htZP9Nw


2020-03-23 23:381071

评论

发布
暂无评论
发现更多内容

女朋友问我:MySQL 事务与 MVCC 原理是怎样的?

一个优秀的废人

Java 数据库 事务隔离级别 事务 MVCC

后端服务太多,且涉及多种语言,如何进行高效管理?

我爱娃哈哈😍

架构 架构设计 架构场景实战

一文带你更方便的控制 goroutine

万俊峰Kevin

线程 并发 Go 语言 goroutine

这三年被分布式坑惨了,曝光十大坑

悟空聊架构

陌陌一面,为什么SpringBoot的 jar 可以独立运行?

Java小咖秀

jar maven springboot 集成 pom

使用gradle插件发布项目到nexus中央仓库

程序那些事

Java maven Gradle 程序那些事

【LeetCode】移除元素Java题解

Albert

算法 LeetCode 4月日更

深入剖析共识性算法 Raft

vivo互联网技术

复制 选举 分布式协调 Leader Follower

面向K8s设计误区

阿里巴巴中间件

云计算 Kubernetes 容器 分布式

模块二课后作业

Damon

6种常见的地标识别算法整理和总结

华为云开发者联盟

KNN CNN 地标识别 GLDv2 地标识别算法

用WASM连接Rust与Python | Rust 学习笔记(三)

李大狗

Python rust 狗哥 Wasm

[转] 程序员在工作中如何做好技术积累

小江

技术管理 架构师 自我思考 个人总结

模块二:课后作业

iHai

架构实战营

关于 Spring 中 getBean 的全流程源码解析

小傅哥

Java spring 源码分析 小傅哥 getBean流程

app架构师,10天拿到字节跳动安卓岗位offer,好文推荐

欢喜学安卓

android 程序员 面试 移动开发

重读《重构2》- 封装记录

顿晓

重构 4月日更

产品经理训练营 Week4 学习心得

Mai

带你入门目标检测算法

华为云开发者联盟

网络 数据集 目标检测 yolo two-stage

一文搞懂分布式锁的原理与实现

架构精进之路

分布式锁 4月日更

阿里P7手把手教你!系统学Android从零开始,内含福利

欢喜学安卓

android 程序员 面试 移动开发

Spark任务等待与运行策略

小舰

4月日更

聪明人的训练(十九)

Changing Lin

4月日更

图算法系列之无向图的数据结构

Silently9527

Java 数据结构和算法 图算法 无向图

细说Python Lambda函数的用法,建议收藏!

华为云开发者联盟

Python 函数 匿名 Lambda函数 表达式

新一代容器,安全容器kata-container实践

ilinux

Kubernetes 容器

MySQL权限管理实战!

Simon

MySQL 权限管理

女朋友问我:什么是 MySQL 的全局锁、表锁、行锁?

一个优秀的废人

MySQL 数据库 锁机制 备份

技术干货 | 基于MindSpore更好的理解Focal Loss

华为云开发者联盟

损失函数 mindspore Focal Loss 图像物体检测 采样

产品经理训练营 Week3 学习心得

Mai

微信朋友圈高性能架构

chenmin

如何进行物联网大数据分析?华为云IoT告诉你_大数据_华为云产品与解决方案_InfoQ精选文章