【实时数仓】Day06-数据可视化接口:接口介绍、Sugar大屏、成交金额、不同维度交易额(品牌、品类、商品spu)、分省的热力图 、新老顾客流量统计、字符云
一、数据可视化接口介绍
1、设计思路
后把轻度聚合的结果保存到 ClickHouse 中后,提供即时的查询、统计、分析
展现形式:用于数据分析的BI工具【商业智能(Business Intelligence)】、面向非专业人员的数据大屏
本章节使用面向百度的Sugar数据大屏服务
2、需求梳理
(1)显示效果

(2)可视化大屏分析
每个组件都需要一个接口(8个组件)


(3)接口执行过程

DWS 层计算后写入到 ClickHouse,提供一个数据接口用来查询 ClickHouse 中的数据
操作:配置大屏服务、编写数据查询接口供大屏服务使用
二、Sugar数据大屏
1、介绍
是百度云提出的敏捷BI和数据可视化平台
解决报表和大屏的数据 BI 分析和可视化问题
2、使用入口
https://cloud.baidu.com/product/sugar.html
3、大屏创建
创建组织、尝鲜版
选择模板/空白模板
进入编辑窗口
三、总成交金额接口
1、Sugar 组件:数字翻牌器
添加、配置调用路径(API 拉取方式绑定)
查询对应的数据格式
2、接口实现
代码分层结构

Application启动类中添加MapperScan注解
Mapper类中添加@Select,编写SQL语句
Controller层中添加@RequestMapping("/api/sugar")和@RestController注解
测试接口并输出结果
3、内网穿透
(1)作用:实现局域网中的电脑被外网访问
(2)工具:花生壳、Ngrok、网云穿
(3)网云穿步骤
注册、版领取免费隧道
下载电脑客户端,就可以进行访问
4、配置Sugar大屏
【空间设置】中增加$API_HOST
点击刷新图表
四、不同维度商品交易额的统计
1、三方面统计
品牌-水平柱状图
品类-饼状图
商品spu-轮播图
共同特征是可以根据商品统计信息计算出来
2、Sugar 组件:横向柱图、轮播饼图、轮播表格
(1)添加组件
(2)配置数据获取方式并修改排序规则
3、数据接口实现
用不同维度进行分组,金额进行聚合的方式查询商品统计表
创建商品交易额统计实体类
Mapper中添加三个方法,并写出SQL语句
Controller中添加@RequestMapping("/spu"),自定义表头,拼接表体
本地接口测试
4、刷新大屏图表数据

五、分省市的热力图统计
1、Sugar 组件:中国省份色彩
添加并配置组件
设置颜色及省份边界线
查看 路径和访问格式
2、数据接口实现
创建地区交易额统计类
编写Mapper、Service、controller方法
测试并刷新大屏数据
六、流量统计数据
包括:分时流量折线图+新老访客流量对比表格
1、Sugar组件:表格、折线图
七、热词字符云
1、Sugar 组件:字符云
2、数据接口实现
创建关键词词统计实体类
根据类型匹配分数
select keyword,
sum(keyword_stats_2021.ct *
multiIf(
source='SEARCH',10,
source='ORDER',5,
source='CART',2,
source='CLICK',1,0
)) ct
from
keyword_stats
where
toYYYYMMDD(stt)=#{date}
group by
keyword
order by
sum(keyword_stats.ct)
limit #{limit};
八、添加素材
选择文本、边框、查看效果
公开分享
九、总结
会通过 springboot 搭建一个 web 服务
使用注解方式,通过 SQL 语句查询 ClickHouse
现数据大屏可视化配置,了解其中的地图、柱形图、饼图、折线图、 表格、轮播表、字符云等组件的使用预配置
使用内网穿透工具,方便调试本地接口与互联网服务对接
十、花生壳配置
【实时数仓】Day06-数据可视化接口:接口介绍、Sugar大屏、成交金额、不同维度交易额(品牌、品类、商品spu)、分省的热力图 、新老顾客流量统计、字符云的更多相关文章
- 基于 Flink 的实时数仓生产实践
数据仓库的建设是“数据智能”必不可少的一环,也是大规模数据应用中必然面临的挑战.在智能商业中,数据的结果代表了用户反馈.获取数据的及时性尤为重要.快速获取数据反馈能够帮助公司更快地做出决策,更好地进行 ...
- 大数据之Hudi + Kylin的准实时数仓实现
问题导读:1.数据库.数据仓库如何理解?2.数据湖有什么用途?解决什么问题?3.数据仓库的加载链路如何实现?4.Hudi新一代数据湖项目有什么优势? 在近期的 Apache Kylin × Apach ...
- 美团点评基于 Flink 的实时数仓建设实践
https://mp.weixin.qq.com/s?__biz=MjM5NjQ5MTI5OA==&mid=2651749037&idx=1&sn=4a448647b3dae5 ...
- flink实时数仓从入门到实战
第一章.flink实时数仓入门 一.依赖 <!--Licensed to the Apache Software Foundation (ASF) under oneor more contri ...
- 实时数仓(二):DWD层-数据处理
目录 实时数仓(二):DWD层-数据处理 1.数据源 2.用户行为日志 2.1开发环境搭建 1)包结构 2)pom.xml 3)MykafkaUtil.java 4)log4j.properties ...
- HBase实战 | 知乎实时数仓架构演进
https://mp.weixin.qq.com/s/hx-q13QteNvtXRpNsE5Y0A 作者 | 知乎数据工程团队编辑 | VincentAI 前线导读:“数据智能” (Data Inte ...
- (转)用Flink取代Spark Streaming!知乎实时数仓架构演进
转:https://mp.weixin.qq.com/s/e8lsGyl8oVtfg6HhXyIe4A AI 前线导读:“数据智能” (Data Intelligence) 有一个必须且基础的环节,就 ...
- 更强大的实时数仓构建能力!分析型数据库PostgreSQL 6.0新特性解读
阿里云 AnalyticDB for PostgreSQL 为采用MPP架构的分布式集群数据库,完备支持SQL 2003,部分兼容Oracle语法,支持PL/SQL存储过程,触发器,支持标准数据库事务 ...
- 基于Flink构建全场景实时数仓
目录: 一. 实时计算初期 二. 实时数仓建设 三. Lambda架构的实时数仓 四. Kappa架构的实时数仓 五. 流批结合的实时数仓 实时计算初期 虽然实时计算在最近几年才火起来,但是在早期也有 ...
- 基于 Kafka 的实时数仓在搜索的实践应用
一.概述 Apache Kafka 发展至今,已经是一个很成熟的消息队列组件了,也是大数据生态圈中不可或缺的一员.Apache Kafka 社区非常的活跃,通过社区成员不断的贡献代码和迭代项目,使得 ...
随机推荐
- 【BotR】CLR类型系统
.NET运行时之书(Book of the Runtime,简称BotR)是一系列描述.NET运行时的文档,2007年左右在微软内部创建,最初目的是为了帮助其新员工快速上手.NET运行时:随着.NET ...
- kubernetes中部署kube-prometheus项目解决ControllerManager与Scheduler无法监控问题
文章转载自:https://www.kococ.cn/20210302/cid=697.html 一.问题描述 在部署 kube-prometheus 到 kubernetes 集群中总会遇到一个问题 ...
- 云服务器 Centos7 部署 Elasticsearch 8.0 + Kibana 8.0 指南
文章转载自:https://mp.weixin.qq.com/s/iPfh9Mkwxf5lieiqt6ltxQ 服务器是命令行模式登录,没法以浏览器方式访问.而官方推荐的快捷部署方式,在kibana ...
- Logstash:使用ELK堆栈进行API分析
- 云数据库技术|“重磅升级”后再测 TDSQL-C
来源:云数据库技术 标题 1.摘要 前段时间,测试了国内主要云原生数据库 PolarDB.TDSQL-C.GaussDB 的性能,参考:<再测云原生数据库性能>.在上次测试结果中,由于地域 ...
- [题解] Atcoder Regular Contest ARC 147 A B C D E 题解
点我看题 A - Max Mod Min 非常诈骗.一开始以为要观察什么神奇的性质,后来发现直接模拟就行了.可以证明总操作次数是\(O(nlog a_i)\)的.具体就是,每次操作都会有一个数a被b取 ...
- aws-s3-国际global与国内CN的一些说明
S3云存储国际版最近经常被墙,国内部分地区有时能正常上传下载,有时也会直接报错网络错误等信息, 所以建议S3使用国内AWS的.国内S3与国外S3在使用时需要注意以下几点: 1)URL不通用 国际版的S ...
- POJ1185 [NOI2001] 炮兵阵地 (状压DP)
又是一道有合法性检测的状压题. dp[i][j][k]表示第i行状态为j,i-1行状态为k时前i行放置的最大数量. 注意22行统计二进制数中1的个数时的巧妙方法. 1 #include<cstd ...
- Collection接口中的方法的使用
add(Object e):将元素e添加到集合coll中size():获取添加的元素的个数addAll(Collection coll1):将coll1集合中的元素添加到当前的集合中clear():清 ...
- Codeforces Round #829 (Div. 1/Div. 2) 1753 A B C D 题解
Div1A / 2C. Make Nonzero Sum 令最后每个\(a_i\)的系数为\(c_i\)(\(c_i=1/-1\)),发现只要满足\(c_1=1\)(下标从1开始),且c中没有两个-1 ...