文章目录
前言
博主介绍:✌目前全网粉丝3W+,csdn博客专家、Java领域优质创作者,博客之星、阿里云平台优质作者、专注于Java后端技术领域。
涵盖技术内容:Java后端、大数据、算法、分布式微服务、中间件、前端、运维等。
博主所有博客文件目录索引:博客目录索引(持续更新)
视频平台:b站-Coder长路
本期大数据实战项目功能演示及环境搭建教程(b站):https://www.bilibili.com/video/BV1F6421V7dY
界面及功能描述
实现功能描述
大数据实训任务:
根据数据特征,设计一个任务场景,开发一个JavaWeb项目,实现如下任务:
(1)原始数据上传到HDFS,前端页面按钮启动文件上传任务,统计分析结果以文件的形式提供下载;
(2)利用MapReduce实现数据的预处理和分析;
(3)利用MapReduce将部分数据存储到Hbase,并实现数据的查询,查询结果显示到前端页面;
(4)利用数据仓库Hive对数据进行统计分析;可以单独执行hive程序进行统计分析;但分析结果要在前端界面展示;
(5)统计分析结果利用Echarts图表进行可视化展示。
要求:所有任务必须能够利用JavaWeb前端页面进行启动和显示结果。
数据集:小麦种子
实际实现的功能内容如下:
本次大数据实验项目所需要完成的项目内容如下:
1、点击上传文件:原始数据上传到HDFS,前端页面按钮启动文件上传任务,将数据将结果上传到HDFS中的/wheat。
2、点击mapreduce按钮:利用MapReduce实现数据的预处理和分析,最终数据结果是在HDFS的/anlysis目录下。
3、通过前端页面按钮点击Hbase存储:发送请求执行将数据存储到Hbase,并实现数据的查询,查询结果显示到前端页面;
4、利用数据仓库Hive对数据进行统计分析;可以单独执行hive程序进行统计分析;分析结果展示通过要在前端界面点击hive分析结果按钮,来查询统计结果数据,最终使用Echarts图表进行可视化展示。对于数据分析我们是对种子的【区域】字段来进行分范围统计,四个范围如下:
0-11、12-15、15-20、20-30、>30。最终是以柱状图形式来展示。
技术选型
前端:HTML、JS、Echarts、JSP
后端:tomcat、servlet
大数据:Hadoop(MapReduce、HDFS)、Hbase、Hive
界面展示
首页界面
初始界面:包含四个功能
功能1:HDFS,选择文件+上传文件
详细步骤
功能描述:利用界面上点击上传文件,将我们提前准备好的数据集上传到HDFS中,最终的上传路径为:/wheat。
选择文件,再点击上传文件:
跳转到列表展示页,包含HDFS的文件列表:
接着我们进入到Hadoop的为web界面:http://192.168.0.176:9870/explorer.html#/wheat,可以看到在/wheat目录下有我们上传的seeds.csv文件:
功能2:MapReduce预处理数据
功能描述:点击mapreduce按钮,会对之前上传上来的csv文件进行map、reduce预处理操作,最终会将处理完的数据输出到/pre目录下,最终的文件名是part-r-00000。
点击mapreduce
按钮,即可发送请求到后端来完成预处理数据:
处理完成之后,是空白页面,表示我们处理完毕。
接着我们重新进入到HDFS的控制台,可以在/pre中看到我们预处理得到的数据:
功能3:Hbase存储小麦种子数据并查询前10条记录
功能描述:会使用Hbase来将功能2中预处理的数据读出并存储到seeds_table表中,接着从seeds_table表中查询前10条记录最终在jsp页面上展示小麦种子数据。
跳转页面效果如下:
功能4:Hive分析原始csv文件数据并echarts图展示
功能描述:首先需要跑本地的WheatAnalysisJob任务,完成分析处理将结果上传到hdfs中的/analysis目录中,接着我们需要在页面上点击hive-echarts图按钮之后会后端程序会读取在hdfs中的/analysis结果,最终使用echarts图来显示。
首先需要在本地跑一个分析任务,使用hive来去分析:
分析打印信息如下:
点击hive-echarts图按钮:
本次实训大数据各个服务版本选择即配套文件
大数据技术服务选择:
- Hadoop3.1.0:依赖JDK8
- Hive3.1.2:依赖MySQL5.7
- Hbase2.2.4:依赖Hadoop、zookeeper3.4.5
系统:Cetnos7。
所有配套软件: