设备接入 IoTDA设备接入 IoTDA

计算
弹性云服务器 ECS
裸金属服务器 BMS
云手机 CPH
专属主机 DeH
弹性伸缩 AS
镜像服务 IMS
函数工作流 FunctionGraph
云耀云服务器 HECS
VR云渲游平台 CVR
特惠算力专区
存储
对象存储服务 OBS
云硬盘 EVS
云备份 CBR
弹性文件服务 SFS
存储容灾服务 SDRS
云硬盘备份 VBS
云服务器备份 CSBS
数据快递服务 DES
专属企业存储服务
云存储网关 CSG
专属分布式存储服务 DSS
CDN与智能边缘
内容分发网络 CDN
智能边缘云 IEC
智能边缘小站 IES
智能边缘平台 IEF
人工智能
AI开发平台ModelArts
华为HiLens
图引擎服务 GES
图像识别 Image
文字识别 OCR
自然语言处理 NLP
内容审核 Moderation
图像搜索 ImageSearch
医疗智能体 EIHealth
园区智能体 CampusGo
企业级AI应用开发专业套件 ModelArts Pro
人脸识别服务 FRS
对话机器人服务 CBS
视频分析服务 VAS
语音交互服务 SIS
知识图谱 KG
人证核身服务 IVS
IoT物联网
设备接入 IoTDA
设备管理 IoTDM(联通用户专用)
全球SIM联接 GSL
IoT数据分析
路网数字化服务 DRIS
IoT边缘 IoTEdge
设备发放 IoTDP
开发与运维
软件开发平台 DevCloud
项目管理 ProjectMan
代码托管 CodeHub
流水线 CloudPipeline
代码检查 CodeCheck
编译构建 CloudBuild
部署 CloudDeploy
云测 CloudTest
发布 CloudRelease
移动应用测试 MobileAPPTest
CloudIDE
Classroom
开源镜像站 Mirrors
应用魔方 AppCube
云性能测试服务 CPTS
应用管理与运维平台 ServiceStage
云应用引擎 CAE
视频
实时音视频 SparkRTC
视频直播 Live
视频点播 VOD
媒体处理 MPC
视频接入服务 VIS
管理与监管
统一身份认证服务 IAM
消息通知服务 SMN
云监控服务 CES
应用运维管理 AOM
应用性能管理 APM
云日志服务 LTS
云审计服务 CTS
标签管理服务 TMS
资源管理服务 RMS
应用身份管理服务 OneAccess
区块链
区块链服务 BCS
可信跨链服务 TCS
可信分布式身份服务
智能协作
IdeaHub
开发者工具
SDK开发指南
API签名指南
DevStar
HCloud CLI
Terraform
Ansible
云生态
云市场
合作伙伴中心
华为云培训中心
其他
管理控制台
消息中心
产品价格详情
系统权限
我的凭证
客户关联华为云合作伙伴须知
公共问题
宽限期保留期
奖励推广计划
活动
容器
云容器引擎 CCE
云容器实例 CCI
容器镜像服务 SWR
应用编排服务 AOS
多云容器平台 MCP
基因容器 GCS
容器洞察引擎 CIE
云原生服务中心 OSC
容器批量计算 BCE
容器交付流水线 ContainerOps
应用服务网格 ASM
网络
虚拟私有云 VPC
弹性公网IP EIP
弹性负载均衡 ELB
NAT网关 NAT
云专线 DC
虚拟专用网络 VPN
云连接 CC
VPC终端节点 VPCEP
数据库
云数据库 RDS
数据复制服务 DRS
文档数据库服务 DDS
分布式数据库中间件 DDM
云数据库 GaussDB (for openGauss)
云数据库 GaussDB(for MySQL)
云数据库 GaussDB NoSQL
数据管理服务 DAS
数据库和应用迁移 UGO
大数据
MapReduce服务 MRS
数据湖探索 DLI
表格存储服务 CloudTable
可信智能计算服务 TICS
推荐系统 RES
云搜索服务 CSS
数据可视化 DLV
数据湖治理中心 DGC
数据接入服务 DIS
数据仓库服务 GaussDB(DWS)
应用中间件
微服务引擎 CSE
分布式消息服务Kafka版
分布式消息服务RabbitMQ版
API网关 APIG
分布式缓存服务 DCS
分布式消息服务RocketMQ版
企业应用
域名注册服务 Domains
云解析服务 DNS
云速建站 CloudSite
网站备案
商标注册
华为云WeLink
会议
隐私保护通话 PrivateNumber
语音通话 VoiceCall
消息&短信 MSGSMS
云管理网络
SD-WAN 云服务
边缘数据中心管理 EDCM
云桌面 Workspace
应用与数据集成平台 ROMA Connect
ROMA资产中心 ROMAExchange
API全生命周期管理 ROMA API
安全与合规
安全技术与应用
DDoS防护 ADS
Web应用防火墙 WAF
云防火墙 CFW
应用信任中心 ATC
企业主机安全 HSS
容器安全服务 CGS
云堡垒机 CBH
数据库安全服务 DBSS
数据加密服务 DEW
数据安全中心 DSC
云证书管理服务 CCM
SSL证书管理 SCM
漏洞扫描服务 VSS
态势感知 SA
威胁检测服务 MTD
管理检测与响应 MDR
安全治理云图 Compass
认证测试中心 CTC
迁移
主机迁移服务 SMS
对象存储迁移服务 OMS
云数据迁移 CDM
专属云
专属计算集群 DCC
解决方案
高性能计算 HPC
SAP
混合云灾备
华为工业云平台 IMC
价格
成本优化最佳实践
专属云商业逻辑
用户服务
帐号中心
费用中心
成本中心
资源中心
企业管理
工单管理
客户运营能力
国际站常见问题
支持计划
专业服务
合作伙伴支持计划
文档首页> 设备接入 IoTDA> 最佳实践> 数据转发> 数据转发至大数据平台分析并呈现
更新时间:2021-10-12 GMT+08:00
分享

数据转发至大数据平台分析并呈现

场景说明

物联网解决方案中,作为数据主体的“物”可能数量会非常大,产生的数据已经无法通过传统的数据处理服务进行处理。如何分析与利用这庞大的物联网设备数据对物联网企业来说又是一个新的挑战。

华为云物联网平台提供规则引擎能力,支持将数据上报的数据转发至华为云其他云服务,可实现将海量数据通过数据接入服务(DIS)转发至MapReduce服务(MRS),对数据进行处理后再由数据可视化服务(DLV)读取数据呈现为可视化报表,实现数据的一站式采集、处理和分析。

在本示例中,我们实现下述场景:

自动售货机每次销售商品后上报销售商品种类、数量、时间和所属区域到物联网平台,物联网平台将数据通过数据接入服务转发至MapReduce服务,MapReduce服务处理数据并写为统计文件,数据可视化服务从统计文件读取数据展现为四个维度的销售报表。

创建MapReduce集群

创建集群,用于存储和处理DIS转储的数据。

  1. 登录华为云官方网站,访问MapReduce服务
  2. 单击“立即购买”,在购买页面单击“自定义购买”页签,创建集群,以下配置仅为样例。

    参数名称

    说明

    软件配置

    当前区域

    保持默认。

    集群名称

    自定义或保持默认。

    集群版本

    保持默认。

    集群类型

    分析集群。组件勾选Spark,系统会自动勾选Hive和Tez。“Hive使用外部数据源存储元数据”保持关闭。

    Kerberos认证

    关闭。

    用户名

    固定为“admin”不可修改。

    密码

    自定义。

    确认密码

    硬件配置

    计费模式

    按实际使用需求选择,本示例中选择“按需计费”。

    网络配置

    全部保持默认。

    实例

    为节省实验费用,可修改分析Core的实例数量为1,其余保持默认值。密码自定义。

    高级配置均保持默认。

  3. 集群创建成功后,等待15到30分钟,集群状态变更为“运行中”则表示创建成功。

创建OBS桶

  1. 登录华为云官方网站,访问对象存储服务
  2. 单击“管理控制台”进入对象存储服务管理控制台。
  3. 单击页面右上角的“创建桶”,根据需求选择桶规格后,单击“立即创建”。

创建数据接入通道和转储任务

创建通道并配置转储任务,实现将设备管理服务传入DIS的数据转发至MRS。

  1. 登录华为云官方网站,访问数据接入服务
  2. 单击“立即购买”,购买接入通道,以下配置仅为样例。

    参数名称

    说明

    区域

    保持默认。

    通道名称

    自定义或保持默认。

    通道类型

    保持默认值“普通”。

    分区数量

    按需填写。

    生命周期

    源数据类型

    选择“JSON”。

    自动扩缩容

    保持关闭。

    Schema开关

    高级配置

    保持默认。

  3. 通道购买成功后,进入DIS控制台接入管理 > 通道管理页面。
  4. 单击需要查看的通道名称,进入所选通道的管理页面,选择“转储管理”页签。
  5. 单击“添加转储任务”按钮。

  6. 在弹出的“添加转储任务”页面配置转储相关配置项。

    参数名称

    说明

    源数据类型

    默认为通道源数据类型

    转储服务类型

    选择“MRS”。

    任务名称

    自定义,如“iot_to_mrs”。

    转储文件格式

    选择“Text”。

    MRS集群

    选择已创建成功的MRS集群。

    HDFS路径

    选择转储文件要存储的路径,建议选择“/user”。

    转储文件目录

    自定义转储文件存放的文件夹名称,本示例中为“temp”。

    偏移量

    选择“最新”。

    数据转储周期

    本示例中修改为“60”。

    数据临时桶

    选择已创建的OBS桶。

    数据临时目录

    自定义,本示例中为“temp”。

  7. 单击“立即创建”。

配置设备接入服务

在设备接入服务中创建产品模型、注册设备并设置数据转发规则,实现当设备上报数据时将数据转发至DIS。

  1. 访问设备接入服务,单击“立即使用”进入设备接入控制台。
  2. 选择左侧导航栏的“产品”,单击右上角下拉框,选择新建产品所属的资源空间。

    注:本文中使用的产品模型和设备仅为示例,您可以使用自己的产品模型和设备进行操作。

  3. 单击右上角的“创建产品”,创建一个基于MQTT协议的产品,填写参数后,单击“确认”

    基本信息

    产品名称

    自定义,如MQTT_Device

    协议类型

    选择“MQTT”

    数据格式

    选择“JSON”

    厂商名称

    自定义

    所属行业

    根据实际情况进行填写。

    设备类型

  4. 单击Profile.zip,获取产品模型文件样例。
  5. 在模型定义页面,单击“上传模型文件”,在弹出的页面中加载产品模型文件,然后单击“确认”。
    图1 上传模型文件
  6. 选择左侧导航栏的设备 > 设备注册,单击右上角的“注册设备”,填写设备注册参数。

    参数名称

    说明

    所属产品

    选择在步骤3中创建的产品。

    设备标识码

    即node_id,填写为设备的IMEI、MAC地址或Serial No;若没有真实设备,填写自定义字符串,由英文字母和数字组成。

    设备名称

    自定义。

    设备认证类型

    选择“密钥”。

    密钥

    设备密钥,可自定义,不填写物联网平台会自动生成。

    填写完成后单击“确定”,请注意保存注册成功返回的“设备ID”和“设备密钥”。

  7. 选择左侧导航栏的规则>数据转发,单击右上角的“创建规则”

    :您也可以基于已经创建的规则,在规则详情页面,添加新的转发目标MySQL。

  8. 参考下表参数说明,填写规则内容。以下参数取值仅为示例,您可参考用户指南创建自己的规则,填写完成后单击“创建规则”

    参数名

    参数说明

    规则名称

    自定义,如iotda-dis。

    规则描述

    自定义,如数据转发至DIS服务。

    数据来源

    选择“设备属性”

    触发事件

    自动匹配“设备属性上报”

    资源空间

    2中的资源空间保持一致。

    快速配置

    1. 单击右侧的“快速配置”。
    2. 勾选“符合以下所选条件的数据”。
    3. 所属产品:选择3创建的产品。
    4. “所属服务”和“按属性过滤”均不选择,保持默认。单击“确认”。
  9. 单击“设置转发目标”页签,单击“添加”,设置转发目标。

    参数名

    参数说明

    转发目标

    选择“数据接入服务(DIS)”

    区域

    选择DIS服务的所在区域。若未授权访问此区域的服务,请根据界面提示,配置云服务访问授权。

    通道归属

    选择“自有通道”

    通道

    选择通道。若没有,请前往DIS服务创建通道

  10. 单击“启动规则”,激活配置好的数据转发规则。
    图2 激活规则

配置数据可视化服务

配置数据可视化服务,新建数据报表视图。

  1. 登录华为云官方网站,访问数据可视化服务
  2. 单击“进入控制台”。

    注:若您未开通DLV服务,可单击“体验试用”获取30天的基础版免费试用。

  3. 访问DLV控制台“我的大屏”页面,新建一个大屏。

  4. 选择空白模板,输入大屏名称后,单击“创建大屏”。
  5. 单击文本 > 标题新增一个标题。

  6. 在右侧“数据”面板修改静态数据中“value”的值为“每日销量”。
  7. 在大屏内拖动标题到左上角,并拉伸成合适的形状。

  8. 单击常用图表 > 线状图新增一个线状图报表。

  9. 拖动图表到标题下面并拉伸成合适的形状。

  10. 重复以上步骤再添加一个标题为“时间段销量”柱状图,一个标题为“种类销量”的饼状图,一个标题为“地区销量”的区域排行图,并根据自己的需要设置图表的样式。最终效果类似下图。

  11. 单击页面右上角的按钮退出编辑页面。

验证操作

  1. 首先控制设备上报10条数据。
    • 您可以使用配置设备接入服务时注册的真实设备接入平台,上报数据。
    • 您也可以使用模拟器模拟设备上报数据,操作方法请参考在线开发MQTT协议的智慧路灯

    上报数据的样例如下,请自行修改参数的取值模拟真实设备数据:

    样例1
    {
    	"msgType": "deviceReq",
    	"data": [{
    		"serviceId": "sales",
    		"serviceData": {
    			"category": "soda",
                            "number": "1",
                            "area": "SZLH",
                            "timeStamp": "20190425T091157Z"
    		}
    	}]
    }

    上述样例表示UTC时间2019年4月25日9点11分57秒深圳罗湖的自动贩卖机卖出了一支碳酸饮料。

    样例2

    {
    	"msgType": "deviceReq",
    	"data": [{
    		"serviceId": "sales",
    		"serviceData": {
    			"category": "juice",
                            "number": "2",
                            "area": "SZFT"
                            "timeStamp": "20190426T170005Z"
    		}
    	}]
    }

    上述样例表示UTC时间2019年4月26日17点05秒深圳福田的自动贩卖机卖出了两支果汁饮料。

    本文以上报下表的数据为例。

    category

    number

    area

    timeStamp

    soda

    1

    SZLH

    20190425T091157Z

    juice

    1

    SZFT

    20190425T121511Z

    sport

    1

    SZLH

    20190425T172433Z

    juice

    2

    SZFT

    20190426T170005Z

    soda

    1

    SZNS

    20190426T190905Z

    juice

    1

    SZNS

    20190427T085959Z

    juice

    2

    SZLH

    20190427T111111Z

    soda

    3

    SZFT

    20190428T182215Z

    sport

    1

    SZLH

    20190429T205901Z

    soda

    1

    SZLG

    20190430T225045Z

  2. 登录MRS管理控制台,选择“集群列表 > 现有集群”,单击集群名进入集群管理页面。

  3. 单击页面上方的“文件管理”,再单击“HDFS文件列表”,进入转储文件目录(例如“temp”)查看是否存在转储的数据文件。

    注:DIS会将数据合并转发,所以此处的文件数量和上报的数据条数可能会不一致。

  4. 单击页面上方的“作业管理”,在“作业”页签中单击“添加”,配置作业信息。本示例中创建一个spark类型的作业,实现分析设备上报数据,分别按日期、时间段、种类、区域统计销量,将分析结果输出为CSV文件并保存至OBS。

    参数名称

    说明

    作业类型

    选择“SparkSubmit”。

    作业名称

    自定义,如“test”。

    执行程序路径

    1. 下载jar包并上传至OBS桶。
    2. 回到添加作业页面,单击“OBS”后单击“浏览”选择刚刚上传的jar文件。

    运行程序参数

    左侧选择“--class”,右侧输入“com.huawei.bigdata.spark.examples.SalesStatistics”。

    执行程序参数

    输入“AK SK inputpath outputpath”。

    • 其中AK SK填写华为云账号的AK、SK,获取方法可参考AK和SK的获取方法
    • inputpath填写文件输入路径,在本样例中为DIS的转储路径,如“/user/temp”。
    • outputpath填写文件输出路径,在本样例中为已申请的OBS桶内的output文件夹(无需提前在OBS创建文件夹,MRS会自动创建),如“s3a://{OBS桶名称}/output”。

    服务配置参数

    无需填写。

    配置完成后单击“确定”启动作业。

  5. 作业完成后,可在OBS桶内看到output文件夹,里面有四个文件夹,每个文件夹内有一个“_SUCCESS”文件和一个“part”开头的csv文件。

    注:本实验的样例程序分析数据时会将UTC时间转换为本地时间,因此数据分析结果中的日期与时间段数值会和上报时的数值不一致。

  6. 登录华为云官方网站,访问数据可视化服务
  7. 单击“进入控制台”。
  8. 单击“我的数据 > 新建数据连接” ,在“新建数据连接”页面左侧的数据库类型中,选择“CSV文件”,按照下表的数据规划填写配置后单击“确定”。重复本步骤建立4个数据连接。

    参数名

    说明

    名称

    建立4个数据连接,分别命名为:

    • salesByDate
    • salesByTime
    • salesByCategory
    • salesByArea

    Access Key

    填写华为云账号的AK、SK,获取方法可参考AK和SK的获取方法

    Secret Access Key

    文件来源

    选择“OBS文件”。

    文件路径

    4个连接分别选择步骤5的output文件夹内和连接同名的文件夹内的csv文件。

  9. 返回“我的大屏”页签,单击配置数据可视化服务时创建的大屏右下的按钮进入编辑页面。
  10. 选中“每日销量”表,在右侧数据面板选择数据类型为“CSV文件”,数据连接选择步骤8添加的数据连接“salesByDate”。
  11. 根据响应数据的属性名称配置字段映射。

    配置 “x”为 “saleDate”, “y”为 “saleNumber”。

  12. 选中“时间段销量”表,在右侧数据面板选择数据类型为“CSV文件”,数据连接选择步骤8添加的数据连接“salesByTime”。
  13. 根据响应数据的属性名称配置字段映射。

    配置 “x”为 “saleTime”, “y”为 “saleNumber”。

  14. 选中“种类销量”表,在右侧数据面板选择数据类型为“CSV文件”,数据连接选择步骤8添加的数据连接“salesByCategory”。
  15. 根据响应数据的属性名称配置字段映射。

    配置 “s”为 “category”, “y”为 “saleNumber”,并设置各个分类的名称(本示例中为“soda”,“juice”,“sport”)和图例的颜色。

  16. 选中“地区销量”表,在右侧数据面板选择数据类型为“CSV文件”,数据连接选择步骤8添加的数据连接“salesByArea”。
  17. 根据响应数据的属性名称配置字段映射。

    配置 “num”为 “saleNumber”。

  18. 全部图表配置完成后,单击页面右上角的可预览报表,示例如下图。

分享:

    相关文档

    相关产品

关闭导读