【大数据学习篇12】 Spark项目实战-数据可视化(三)

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 【大数据学习篇12】 Spark项目实战-数据可视化

5. 实现各区域热门商品Top3数据可视化

5.1  创建实体类Top3Entity

       为了便于各区域热门商品Top3分析结果数据的传递,在项目的entity包中创建实体类Top3Entity,存储Phoenix中表top3的数据。


public class Top3Entity {


   private String product_id;


   private String viewcount;


   private String area;


  //实现属性的getter和setter方法


  ...


}


5.2  创建数据库访问接口Top3Dao

       在项目的dao包中创建一个数据库访问接口Top3Dao,读取Phoenix中表top3的数据。


import cn.itcast.sparkweb.entity.Top3Entity;


import org.apache.ibatis.annotations.Mapper;


import org.apache.ibatis.annotations.Select;


import java.util.List;


@Mapper


public interface Top3Dao {


   @Select("select \"product_id\",\"viewcount\",\"area\" from \"top3\"")


   List<Top3Entity> getTop3();


}


5.3  创建控制器类Top3Controller

       在项目的controller包中创建控制器类Top3Controller,用于实现接口Top3Dao中的方法getTop3()读取表top3的数据,通过Model对象向HTML传递数据。


@Controller


public class Top3Controller {


   @Autowired


   private Top3Dao top3Dao;


   @RequestMapping(value = "/top3",produces = "text/html;charset=utf-8")


   public String top3(Model model) {


    List<Top3Entity> top3 = top3Dao.getTop3();


    model.addAttribute("top3",top3);


    return  "top3";


   }


}


5.4  创建HTML文件top3.html

       在项目中的templates目录下创建HTML文件top3.html,在该文件中通过jQuery获取Model对象传递到HTML的各区域热门商品Top3的数据,并将获取到的数据填充到ECharts柱状图模板中,实现各区域热门商品Top3数据的可视化展示。


<!DOCTYPE html>


<html lang="en" xmlns:th="http://www.thymeleaf.org">


<head>


   <meta charset="UTF-8">


   <title>top3</title>


   <script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>


   <script src="https://cdn.staticfile.org/echarts/4.3.0/echarts.min.js"></script>


</head>


<body>


……


</body>


</html>


5.5    运行项目实现各区域热门商品Top3数据可视化

       在IntelliJ IDEA中单击【启动】按钮运行项目,项目启动成功后,在浏览器中输入“http://localhost:8080/top3”查看各区域热门商品Top3数据可视化的展示效果。


d31f3c4464e347f7a2b199a6e2c42e5b.png


6. 实现页面单跳转化率数据可视化

6.1  创建实体类ConversionEntity

       为了便于页面单跳转化率数据的传递,在项目的entity包中创建实体类ConversionEntity,存储Phoenix中表conversion的数据。


public class ConversionEntity {


   private String convert_page;


   private String convert_rage;


   //实现属性的getter和setter方法


   ...


}


6.2  创建数据库访问接口ConversionDao

       在项目的dao包中创建一个数据库访问接口ConversionDao,读取Phoenix中表conversion的数据。


import cn.itcast.sparkweb.entity.ConversionEntity;


import org.apache.ibatis.annotations.Mapper;


import org.apache.ibatis.annotations.Select;


import java.util.List;


@Mapper


public interface ConversionDao {


   @Select("select \"convert_page\",\"convert_rage\" from \"conversion\"")     List<ConversionEntity> getConversion();


}


6.3  创建控制器类ConversionController

       在项目的controller包中创建控制器类ConversionController,用于实现接口ConversionDao中的方法conversion()读取表conversion的数据,通过Model对象向HTML传递数据。


@Controller public class ConversionController {


   @Autowired


   private ConversionDao conversionDao;


   @RequestMapping(value = "/conversion",produces = "text/html;charset=utf-8")


   public String conversion(Model model){


       List<ConversionEntity> conversion = conversionDao.getConversion();


       model.addAttribute("conversion",conversion);


       return "conversion";


   }


}


6.4  创建HTML文件conversion.html

       在项目中的templates目录下创建HTML文件conversion.html,在该文件中通过jQuery获取Model对象传递到HTML的页面单跳转化率数据,并将获取到的数据填充到ECharts柱状图模板中,实现页面单跳转化率数据的可视化展示。


<!DOCTYPE html>


<html lang="en" xmlns:th="http://www.thymeleaf.org">


<head>


   <meta charset="UTF-8">


   <title>conversion</title>


   <script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>


   <script src="https://cdn.staticfile.org/echarts/4.3.0/echarts.min.js"></script>


</head>


<body>


……


</body>


</html>


6.5    运行项目实现页面单跳转化率数据可视化

       在IntelliJ IDEA中单击【启动】按钮运行项目,项目启动成功后,在浏览器中输入“http://localhost:8080/conversion”查看页面单跳转化率数据可视化的展示效果。


7abd457b4753478cbcf0c5083d0ed286.png


7. 实现广告点击流实时统计可视化

7.1  创建实体类AdsEntity

       为了便于广告点击流实时统计结果数据的传递,在项目的entity包中创建实体类AdsEntity,存储Phoenix中表adstream的数据。


public class AdsEntity {


   private String city;


   private String ad_count;


   private String ad_id;


   //实现属性的getter和setter方法


   ...


}


7.2  创建数据库访问接口ConversionDao

       在项目的dao包中创建一个数据库访问接口AdsDao,读取Phoenix中表adstream的数据。


import cn.itcast.sparkweb.entity.AdsEntity;


import org.apache.ibatis.annotations.Mapper;


import org.apache.ibatis.annotations.Select;


import java.util.List;


@Mapper public interface AdsDao {


   @Select("select \"city\",\"ad_count\",\"ad_id\" from \"adstream\"")


   List<AdsEntity>


ads();


}


7.3  创建控制器类AdsController

       在项目的controller包中创建控制器类AdsController,用于实现接口AdsDao中的方法adsData ()读取表adstream的数据,将此数据作为方法的返回值传递到HTML。


@Controller public class AdsController {


   @Autowired


   private AdsDao adsDao;


   @RequestMapping(value = "/adsdata",method = RequestMethod.POST)     @ResponseBody


   public List<AdsEntity> adsData(){


       List<AdsEntity> ads = adsDao.ads();


       return ads;


   }


}


7.4  创建HTML文件ads.html

       在项目中的templates目录下创建HTML文件ads.html,在该文件中通过jQuery的Ajax处理控制器类AdsController中adsData()方法返回的广告点击流实时统计数据,并将获取到的数据实时填充到ECharts柱状图模板中,实现广告点击流实时统计的可视化展示。


<!DOCTYPE html>


<html lang="en" xmlns:th="http://www.thymeleaf.org">


<head>


   <meta charset="UTF-8">


   <title>ads</title>


   <script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>


   <script src="https://cdn.staticfile.org/echarts/4.3.0/echarts.min.js"></script>


</head>


<body>


……


</body>


</html>


7.5    运行项目实现广告点击流实时统计可视化


2390bd811ec340a69c8174f3f451cec3.png

       在项目sparkweb的主界面中单击【启动】按钮运行项目,项目启动成功后,在浏览器中输入“http://localhost:8080/ads”查看广告点击流实时统计可视化的展示效果。


c2736cc8a61648258403c99540b7d795.png


小结

       本文主要讲解了如何实现数据的可视化展示,首先,对实现可视化的技术以及系统架构进行详细讲解,使读者对实现数据可视化有了初步认知。接着,通过集成Phoenix与HBase实现将HBase中的数据映射到Phoenix,通过JDBC连接Phoenix获取分析结果。然后,讲解如何创建和配置Spring Boot项目。最后,在Spring Boot项目中编写相关类、接口以及HTML页面实现各区域热门商品Top3、热门品类Top10、页面单跳转化率以及广告点击流实时统计的可视化。通过本章的学习,读者应掌握Phoenix的使用,以及如何通过Spring Boot项目实现数据可视化展示。


相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
目录
相关文章
|
4月前
|
人工智能 分布式计算 大数据
大数据≠大样本:基于Spark的特征降维实战(提升10倍训练效率)
本文探讨了大数据场景下降维的核心问题与解决方案,重点分析了“维度灾难”对模型性能的影响及特征冗余的陷阱。通过数学证明与实际案例,揭示高维空间中样本稀疏性问题,并提出基于Spark的分布式降维技术选型与优化策略。文章详细展示了PCA在亿级用户画像中的应用,包括数据准备、核心实现与效果评估,同时深入探讨了协方差矩阵计算与特征值分解的并行优化方法。此外,还介绍了动态维度调整、非线性特征处理及降维与其他AI技术的协同效应,为生产环境提供了最佳实践指南。最终总结出降维的本质与工程实践原则,展望未来发展方向。
207 0
|
15天前
|
数据采集 数据可视化 关系型数据库
基于python大数据的电影数据可视化分析系统
电影分析与可视化平台顺应电影产业数字化趋势,整合大数据处理、人工智能与Web技术,实现电影数据的采集、分析与可视化展示。平台支持票房、评分、观众行为等多维度分析,助力行业洞察与决策,同时提供互动界面,增强观众对电影文化的理解。技术上依托Python、MySQL、Flask、HTML等构建,融合数据采集与AI分析,提升电影行业的数据应用能力。
|
1月前
|
数据采集 搜索推荐 数据可视化
基于python大数据的商品数据可视化及推荐系统
本系统基于Python、Django与ECharts,构建大数据商品可视化及推荐平台。通过爬虫获取商品数据,利用可视化技术呈现销售趋势与用户行为,结合机器学习实现个性化推荐,助力电商精准营销与用户体验提升。
|
24天前
|
数据可视化 大数据 数据挖掘
基于python大数据的招聘数据可视化分析系统
本系统基于Python开发,整合多渠道招聘数据,利用数据分析与可视化技术,助力企业高效决策。核心功能包括数据采集、智能分析、可视化展示及权限管理,提升招聘效率与人才管理水平,推动人力资源管理数字化转型。
|
2月前
|
搜索推荐 算法 数据可视化
基于python大数据的招聘数据可视化及推荐系统
本研究聚焦于基于协同过滤的就业推荐系统设计与实现。随着就业压力增大和信息技术发展,传统求职方式面临挑战。通过分析用户行为与职位特征,协同过滤技术可实现个性化职位推荐,提升求职与招聘效率。研究涵盖系统架构、数据采集、算法实现及可视化展示,旨在优化就业匹配,促进人才与岗位精准对接,助力就业市场智能化发展。
|
4月前
|
数据采集 搜索推荐 算法
Java 大视界 -- Java 大数据在智能教育学习社区用户互动分析与社区活跃度提升中的应用(274)
本文系统阐述 Java 大数据技术在智能教育学习社区中的深度应用,涵盖数据采集架构、核心分析算法、活跃度提升策略及前沿技术探索,为教育数字化转型提供完整技术解决方案。
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
3 秒音频也能克隆?拆解 Spark-TTS 架构的极致小样本学习
本文深入解析了 Spark-TTS 模型的架构与原理,该模型仅需 3 秒语音样本即可实现高质量的零样本语音克隆。其核心创新在于 BiCodec 单流语音编码架构,将语音信号分解为语义 Token 和全局 Token,实现内容与音色解耦。结合大型语言模型(如 Qwen 2.5),Spark-TTS 能直接生成语义 Token 并还原波形,简化推理流程。实验表明,它不仅能克隆音色、语速和语调,还支持跨语言朗读及情感调整。尽管面临相似度提升、样本鲁棒性等挑战,但其技术突破为定制化 AI 声音提供了全新可能。
380 35
|
7月前
|
存储 分布式计算 Hadoop
从“笨重大象”到“敏捷火花”:Hadoop与Spark的大数据技术进化之路
从“笨重大象”到“敏捷火花”:Hadoop与Spark的大数据技术进化之路
292 79
|
11月前
|
分布式计算 大数据 Apache
ClickHouse与大数据生态集成:Spark & Flink 实战
【10月更文挑战第26天】在当今这个数据爆炸的时代,能够高效地处理和分析海量数据成为了企业和组织提升竞争力的关键。作为一款高性能的列式数据库系统,ClickHouse 在大数据分析领域展现出了卓越的能力。然而,为了充分利用ClickHouse的优势,将其与现有的大数据处理框架(如Apache Spark和Apache Flink)进行集成变得尤为重要。本文将从我个人的角度出发,探讨如何通过这些技术的结合,实现对大规模数据的实时处理和分析。
704 2
ClickHouse与大数据生态集成:Spark & Flink 实战
|
5月前
|
监控 数据可视化 大数据
Axure设计的“广东省网络信息化大数据平台”数据可视化大屏
本文介绍由Axure设计的“广东省网络信息化大数据平台”数据可视化大屏。大屏分为左中右三区域,共九个模块,涵盖设备占比、数据异常、地市排名、关键指标、地图分布、订单信息等。通过环形图、柱状图、饼图等多种图表形式,将复杂数据直观呈现,助力决策者全面掌握数据动态,推动广东省网络信息化建设发展。
388 90