E-MapReduce结合DataV进行数据展现

本文涉及的产品
EMR Serverless Spark 免费试用,1000 CU*H 有效期3个月
EMR Serverless StarRocks,5000CU*H 48000GB*H
简介:

背景

大部分我们的数据处理作业在完成计算以后,都希望能够把结果可视化的展示出来,形成类似每日报表这样的东西,供大家直观的查看。
或者能有类似阿里双11那种实时的数据大屏效果就更好了
screenshot
如果自己去做一个类似的数据可视化的系统会非常复杂,我这里要介绍的就是E-MapRediuce的处理结果,如何通过阿里云已有的DataV工具来进行展示。
它有如下的一些特点:

  1. 可视化数据图表是实时的。

    只要数据一发生变化,图表就会立刻变化。
  2. 权限控制

    可以限制只有主子账号可以查看,同时也能指定报表公开给所有人。
    

1. 计算数据

我这里会列举2个场景作为示范,一个是离线的场景,报表数据每天计算一次,另一个是在线的流式场景,报表数据每10分钟更新一次,介绍他们大致的处理方式

a) 离线场景

示例场景介绍:

用户通过日志服务(SLS)将服务器的访问日志收集上来,然后投递到OSS,并起一个E-MapReduce集群来进行处理。分析出当天的pv,uv或其他的业务指标。

这个处理过程请参考这里使用Hive处理服务器日志
最终能得到需要的结果hive表。

b) 流式场景

示例场景介绍:

用户通过日志服务(SLS)将服务器日志收集上来,然后在E-MapReduce集群中,运行一个Spark Streaming作业,对数据进行业务分析。

这个处理过程的详细说明将在下一篇中详细介绍。

2. 报表数据导入数据库

目前DataV还不能直接支持使用HDFS数据,但是可以支持API接口和RDS(Mysql)的数据源。我们这里选用RDS作为我们的数据源,当然如果你有自己的Mysql数据也可以直接使用

创建表

我们需要在数据库中创建一张表,我们示范创建一张简单的pv表,如下

CREATE TABLE `pv` (
  `page` varchar(32) NOT NULL,
  `amount` int(11) DEFAULT NULL,
  PRIMARY KEY (`page`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

其中page是用户访问的页面的id标号,amount是该页面被访问的次数。
主键是page。

a)离线场景

经过上面的离线计算我们得到了一张Hive表,我们使用Sqoop将他导入到RDS中去。

sqoop export --connect jdbc:mysql://{ip}:3306/{dbname} --username {user} --password {pwd} --table {tablename} --export-dir {hdfs_dir} --input-fields-terminated-by '\001'

这里其他的参数都好理解,有2个需要说明下:

hdfs_dir

这个是Hive对应的hdfs路径,我们如何从Hive表中得到呢?
我们在hive中使用如下命令即可查询到表对应的HDFS路径

desc extended tablename;

结果如下,其中的location后面的值就是我们需要的路径了:
screenshot

--input-fields-terminated-by '001'

这个是默认的Hive都会使用 001 来做分割符,所以我们需要把每行用这个分割成多个字段,然后保存到RDS中。分割出来的每一个字段对应RDS中表的每一列

b)流式场景

流式场景就是直接在Spark Streaming中直接写数据库,后续我们会写一个文章来详细介绍这个过程。

3. 创建并配置DataV

完成了上面的数据库准备和数据导入,现在我们就可以开始展示这些数据了。
登录DataV

i 创建数据源

在首页先创建一个数据源,点击数据源新增
screenshot

这里我选择rds,其实mysql和rds是一样的,你如果是自己的mysql也是一样配置
screenshot

创建完成以后会看到一个数据源

ii 创建项目

然后我们新建一个项目,由于默认的几个都是很复杂的图,我们只需要一个简单的,所以你需要手动的删除掉这些用不上的组件。这会花费一些时间。

iii 设置页面

完成以后,我们先设置屏幕的大小,点击右侧的“页面设置”,设置屏幕大小
考虑有各种不同的页面,我们先设置小一点,设置为宽度:800,高度:600
然后“缩放方式”选择:全屏铺满, 不过会导致比例有点失真,你可以根据你的实际情况进行调整。

iv 添加图标并设置

我们从常规图表中选中“梯形柱状图”,并进行拉伸,扩大到适合的大小。
接着,设置我们的数据绑定到这个图上,点击右侧的数据
选择“数据源类型”:数据库
选择“选择数据库”:一开始我们创建的那个数据源
在“SQL”中写语句,以我们的示例为例,我们的数据库中的pv表有2个字段一个是page,代表用户的访问页面id,一个是amount,代表页面被访问的次数。
screenshot
我们看到梯形柱状图需要x,y两个坐标轴的数据,x对应类目也就是我们的页面id,y对应值,也就是访问量,我们使用如下的sql来

select page as x, amount as y from pv order by amount desc limit 10;

这样就把所有访问页面的前十给展示出来了
类似如下的效果:
screenshot
然后,如果你的数据是动态更新的,那么你可以设置下面的
“自动更新”,设置一个合适的频率来更新图标,每当数据变化就可以立刻看到。

v 权限设置

默认情况下,这个图表只可以被主子账号访问。
如果要被所有人访问,在屏幕的右上,有一个分享按钮,点击打开后会产生一个公开的访问地址,所有人都可以访问
screenshot

相关实践学习
基于Hologres轻量实时的高性能OLAP分析
本教程基于GitHub Archive公开数据集,通过DataWorks将GitHub中的项⽬、行为等20多种事件类型数据实时采集至Hologres进行分析,同时使用DataV内置模板,快速搭建实时可视化数据大屏,从开发者、项⽬、编程语⾔等多个维度了解GitHub实时数据变化情况。
阿里云实时数仓实战 - 用户行为数仓搭建
课程简介 1)学习搭建一个数据仓库的过程,理解数据在整个数仓架构的从采集、存储、计算、输出、展示的整个业务流程。 2)整个数仓体系完全搭建在阿里云架构上,理解并学会运用各个服务组件,了解各个组件之间如何配合联动。 3 )前置知识要求:熟练掌握 SQL 语法熟悉 Linux 命令,对 Hadoop 大数据体系有一定的了解   课程大纲 第一章 了解数据仓库概念 初步了解数据仓库是干什么的 第二章 按照企业开发的标准去搭建一个数据仓库 数据仓库的需求是什么 架构 怎么选型怎么购买服务器 第三章 数据生成模块 用户形成数据的一个准备 按照企业的标准,准备了十一张用户行为表 方便使用 第四章 采集模块的搭建 购买阿里云服务器 安装 JDK 安装 Flume 第五章 用户行为数据仓库 严格按照企业的标准开发 第六章 搭建业务数仓理论基础和对表的分类同步 第七章 业务数仓的搭建  业务行为数仓效果图  
目录
相关文章
|
8月前
|
SQL 数据可视化 atlas
低空经济新基建!DataV Atlas 如何用大模型玩转空间数据?
阿里云DataV Atlas推出搭载通义千问最新2.5 Max大模型「时空SQL智能小助手」,通过自然语言生成专业SQL,简化空间数据分析流程,助力智慧农田、城市低空交通及应急调度等领域,推动精准决策和智能化管理。零门槛体验空间智能分析革命,开启“会思考的天空网络”新时代。
529 4
低空经济新基建!DataV Atlas 如何用大模型玩转空间数据?
|
8月前
|
SQL 人工智能 数据可视化
数据团队必读:智能数据分析文档(DataV Note)五种高效工作模式
数据项目复杂,涉及代码、数据、运行环境等多部分。随着AI发展,数据科学团队面临挑战。协作式数据文档(如阿里云DataV Note)成为提升效率的关键工具。它支持跨角色协同、异构数据处理、多语言分析及高效沟通,帮助创建知识库,实现可重现的数据科学过程,并通过一键分享报告促进数据驱动决策。未来,大模型AI将进一步增强其功能,如智能绘图、总结探索、NLP2SQL/Python和AutoReport,为数据分析带来更多可能。
321 21
|
7月前
|
数据可视化 数据挖掘 atlas
地图不只是导航:DataV Atlas 揭示地理数据的深层价值
地图不只是导航:DataV Atlas 揭示地理数据的深层价值
144 2
|
9月前
|
数据可视化 数据挖掘 atlas
地图不只是导航:DataV Atlas 揭示地理数据的深层价值
随着互联网场景的快速衍生,打车、外卖、智能驾驶等领域的空间数据爆发式增长,海量数据分析成为日常需求。然而,传统地图服务面临性能、安全和成本挑战。为此,我们推出「DataV Atlas 地理数据服务」,提供高效、安全、易用的地理数据解决方案。通过简单的 SQL 查询即可生成专业地理服务,支持多源数据整合、实时更新与分析,确保数据安全,并深度集成 DataV Board 数据看板,实现一键上屏和交互式分析。适用于大屏展示、城市规划等多种场景,助力企业轻松挖掘空间数据价值。
464 6
地图不只是导航:DataV Atlas 揭示地理数据的深层价值
|
人工智能 数据可视化 定位技术
DataV AI助手小技巧-如何制作PPT数据地图
“数据地图”是PPT汇报地区业务数据的最佳形式之一;以往制作数据地图需要用户有一定的编程和数据处理基础,制作门槛较高;随着DataV整合通义千问大模型能力之后,不懂编程和设计的用户也可以借助AI助手“零代码”制作数据地图,真正实现了人人可用的地图数据可视化。 进入大模型AI时代,人人可以变成职场跨界多面手!
11852 3
DataV AI助手小技巧-如何制作PPT数据地图
|
SQL 数据可视化 定位技术
见证数据的视觉奇迹——DataV Atlas
阿里云DataV的DataV-Atlas是一款专注于地理数据可视化的工具,提供时空数据分析和地图发布功能,适合快速创建地图并分享。与ArcGIS Server相比,DataV.GeoAtlas更侧重于数据可视化和云服务集成,适合非专业用户,而ArcGIS Server是全面的GIS服务平台,适合复杂分析和定制化应用。用户可通过阿里云免费试用DataV-Atlas,体验包括数据上传、地图制作和分析在内的功能。
见证数据的视觉奇迹——DataV Atlas
|
数据采集 分布式计算 搜索推荐
Hadoop学习---7、OutputFormat数据输出、MapReduce内核源码解析、Join应用、数据清洗、MapReduce开发总结(一)
Hadoop学习---7、OutputFormat数据输出、MapReduce内核源码解析、Join应用、数据清洗、MapReduce开发总结(一)
|
数据可视化 前端开发 数据挖掘
身怀绝技的开发者们,快来DataV玩转可视化组件,开启数据新视界!
理论学习之后,实践是检验知识的最好方式。建议你动手创建一个DataV项目,将所学的知识和技能应用到实际开发中。通过实践,你可以更好地理解和掌握DataV的使用技巧,并发现其中的乐趣和挑战。
|
数据可视化 前端开发 JavaScript
react+datav+echarts实现可视化数据大屏
最近有点闲,就学习了下react,没想到就把react学完了,觉得还不错,就打算出一把react+datav的简易版可视化数据大屏供大家做个参考
1158 2
react+datav+echarts实现可视化数据大屏
|
Prometheus 监控 Cloud Native
用 DataV 展示 Prometheus 数据
本文介绍了如何将 Prometheus 数据接入 DataV 进行可视化展示。如果使用的是阿里云可观测监控中的 Prometheus 实例,或者自建的 Prometheus 开放了公网可访问的 HTTP API,那么可直接通过 API 将数据接入 DataV 展示。
606 0