基于Spark的音乐专辑数据分析展示

本实验采用Python语言,使用大数据处理框架Spark对音乐专辑数据进行处理分析,并对分析结果进行可视化。

安装完上述环境以后,为了支持Python可视化分析,还需要执行如下命令安装Flask组件:

在Kaggle数据平台上下载了数据集albums.csv。其中包含了10万条音乐专辑的数据。主要字段说明如下:1)album_title:音乐专辑名称2)genre:专辑类型3)year_of_pub:专辑发行年份4)num_of_tracks:每张专辑中单曲数量5)num_of_sales:专辑销量6)rolling_stone_critic:滚石网站的评分7)mtv_critic:全球最大音乐电视网MTV的评分8)music_maniac_critic:音乐达人的评分

A.启动Hadoop中的HDFS组件,在命令行运行下面命令:

hdfsdfs-mkdir-p/user/hadoopC.把本地文件系统中的数据集albums.csv上传到分布式文件系统HDFS中:

hdfsdfs-putalbums.csv三、pyspark的简单分析1.建立工程文件A.创建文件夹code。B.在code下创建main.py文件。C.在code下创建static文件夹,存放静态文件。D.在code/static文件夹下面创建data目录,存放分析生成的json数据。

本文对音乐专辑数据集albums.csv进行了一系列的分析,包括:1)统计各类型专辑的数量;2)统计各类型专辑的销量总数;3)统计近20年每年发行的专辑数量和单曲数量;4)分析总销量前五的专辑类型的各年份销量;5)分析总销量前五的专辑类型,在不同评分体系中的平均评分。

在main.py中复制以下代码:

/usr/local/hadoop/sbin/start-dfs.shD.在命令行运行:

spark-submitmain.py四、可视化实现本实验的可视化基于Echarts实现,实现的可视化页面部署在基于flask框架的web服务器上。

1)在code目录下新建SparkFlask.py文件,存放Flask应用。2)在code目录下新建一个名为templates的文件夹,存放html文件。3)在code/static目录下新建一个名为js的文件夹,存放js文件。最后的代码结构如下图所示:

在SparkFlask.py文件中复制以下代码:

fromflaskimportrender_templatefromflaskimportFlask#fromlivereloadimportServerapp=Flask(__name__)@app.route('/')defindex():#使用render_template()方法来渲染模板returnrender_template('index.html')@app.route('/')defreq_file(filename):returnrender_template(filename)if__name__=='__main__':app.DEBUG=True#代码调试立即生效app.jinja_env.auto_reload=True#模板调试立即生效app.run()#用run()函数来让应用运行在本地服务器上代码中已有详细注释,在此不多加解释。

(1)在code/templates目录下新建index.html文件。复制以下代码:

(3)在code/templates目录下新建genre-sales.html文件。复制以下代码:

(4)在code/templates目录下新建year-tracks-and-sales.html文件。复制以下代码:

(5)在code/templates目录下新建genre-year-sales.html文件。复制以下代码:

(6)在code/templates目录下新建genre-critic.html文件。复制以下代码:

THE END
1.Python画图代码下士闻道Python画图代码 1X1D=np.linspace(-4, 4, 9).reshape(-1,1)2X2D=np.c_[X1D, X1D**2]3y = np.array([0, 0, 1, 1, 1, 1, 1, 0, 0])45plt.figure(figsize=(11, 4))#这个范围是怎么知道的?经验值6pprint(np.zeros(4))7plt.subplot(121)8plt.grid(True, which="both")9plt.axh...https://www.cnblogs.com/xiashiwendao/p/9787613.html
2.美赛必备14种Python画图常用代码总结!2024美赛正在火热报名中,相信很多小伙伴在美赛备赛期间会阅读大量的优秀论文。那么好看的插图也是优秀论文的加分项,今天就分享14种好看的插图Python 实现,帮助正在备赛的宝子们,好的文章也需要宝子们的小心心 ?,大家快点收藏起来吧! ? ...https://weibo.com/ttarticle/p/show?id=2309404976743516602390
3.超级简单的七行代码,实现python海龟画图,普通人分分钟学会程序员...顶部 首页首页 超级简单的七行代码,实现python海龟画图,普通人分分钟学会程序员 编程 涨知识 python 2024-11-27 00:00 · 0次播放 发布于:江西省 拳击那点事 +订阅 +1 评论 全部 还没有人评论过,快来抢首评 写评论相关推荐 查看更多精彩内容 https://m.sohu.com/a/830709525_100114195
4.Python练习实例56菜鸟教程Python 100例 题目:画图,学用circle画圆形。 程序分析:无。 程序源代码: 实例(Python 2.0+) #!/usr/bin/python# -*- coding: UTF-8 -*-if__name__=='__main__':fromTkinterimport*canvas=Canvas(width=800,height=600,bg='yellow')canvas.pack(expand=YES,fill=BOTH)k=1j=1foriinrange(0,26):...https://www.runoob.com/python/python-exercise-example56.html
1.pythonmatplotlib画图实例代码分享python这篇文章主要介绍了python matplotlib画图实例代码分享,具有一定借鉴价值,需要的朋友可以参考下python的matplotlib包支持我们画图,有点非常多,现学习如下。 首先要导入包,在以后的示例中默认已经导入这两个包 1 2 import matplotlib.pyplot as plt import numpy as np 然后画一个最基本的图 1 2 3 4 5 6 7 8 ...https://www.jb51.net/article/131658.htm
2.turtle在Python shell 中,导入 turtle 模块的所有对象: from turtle import * 如果你遇到了 No module named '_tkinter' 错误,则需要在你的系统中安装 Tk 接口包。 基本绘图 让海龟前进 100 步: forward(100) 你应该会看到(最可能的情况,是在你的显示器的一个新窗口中)海龟画出一条线段,方向朝东。 改变海龟...https://docs.python.org/zh-cn/3/library/turtle.html
3.Python常用画图代码(折线图柱状图饼图)?简单记录一下最简单常用的三种论文插图的python画图代码,以作备忘。 ? 有很多很牛b的作图教程,我也学不来,就扔给大家自己学吧: 如何在论文中画出漂亮的插图?[1] 折线图 代码 代码语言:javascript 复制 importnumpyasnpimportmatplotlib.pyplotasplt ...https://cloud.tencent.com/developer/article/1780434
4.python画图代码大全Python是一种高级编程语言,也是非常适合用来进行数据可视化和图形绘制的语言之一。无论是绘制简单的线条图、柱状图、散点图,还是复杂的3D图形、动画图等,Python都可以轻松胜任。下面将介绍一些常用的Python画图代码,以供参考。 1. 导入绘图库 ```python import matplotlib.pyplot as plt import numpy as np ``` ...http://www.cn86.cn/news/61056.html
5.python简单绘图代码python画图代码大全python画图代码大全简单 # Python画图代码大全简介Python作为一种功能强大的编程语言,不仅可以用于数据处理和机器学习,还可以用于可视化数据和绘制各种图表。Python提供了多种库和工具,使得图形绘制变得简单而有趣。本文将介绍一些常用的Python画图库和示例代码,帮助读者快速了解如何使用Python进行图形绘制。## 1. Matplotlib...https://blog.51cto.com/u_16213632/7518463
6.pythonturtle画图代码大全Python turtle是一个非常有趣的绘图工具,可以用来绘制各种形状和图案。以下是一些常见的Python turtle画图代码: 绘制正方形: import turtle turtle.forward(100) turtle.right(90) turtle.forward(100) turtle.right(90) turtle.forward(100) turtle.right(90) turtle.forward(100) ...https://wenku.csdn.net/answer/83160e55331a0147efbee42669c47372