基于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练习实例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.十行代码教你用Python绘制线段超百节Python精品视频课程:涵盖Python编程的必备基础知识、高效爬虫技术、以及深入的数据分析技能,让您技能全面升级。 实战案例集锦:精选超过100个实战项目案例,从理论到实践,让您在解决实际问题的过程中,深化理解,提升编程能力。 华为独家Python漫画教程:创新学习方式,以轻松幽默的漫画形式,让您随时随地,利用碎片时间也能...https://blog.csdn.net/biancheng_syz/article/details/144140513
2.Pandas高级教程之:plot画图详解腾讯云开发者社区python中matplotlib是非常重要并且方便的图形化工具,使用matplotlib可以可视化的进行数据分析,今天本文将会详细讲解Pandas中的matplotlib应用。 基础画图 要想使用matplotlib,我们需要引用它: 代码语言:javascript 复制 In [1]: import matplotlib.pyplot as plt 假如我们要从2020年1月1日开始,随机生成365天的数据,然后作图...https://cloud.tencent.com/developer/article/1842965
3.PythonMatplotlib绘图基础详细教程Mysqlmatplotlib是python中用于绘制各种图像的模块,功能十分强大,通常与pandas模块搭配使用,可以生成各种样视的图片,用于数据的分析和展示,下面这篇文章主要给大家介绍了关于Python Matplotlib绘图基础的相关资料,需要的朋友可以参考下 plt是最常用的接口 1. 画图的基本步骤 ...https://m.jb51.net/article/253730.htm
4.Python图像处理教程(Pillow)11画图与添加文字另一个应用可能是用计算好的颜色来填充图像的一部分,例如,梯度甚至是分形图像。请注意,多次调用point来设置大量的像素可能会很慢,所以你最好使用本书中其他地方描述的更有效的像素访问方法。 处理文本 Pillow通过ImaegFont模块(用于选择字体)和ImageDraw模块提供处理文本的功能。 https://www.jianshu.com/p/44470d58729e
5.Python一级等级考试知识点总结(不含turtle画图)物联沃首先,python一级考试都是比较基础的知识,大概包括python的一些常识知识,以及简单的数据类型,类型转换,输入输出函数,运算符,turtle画图等等,难度小,甚至根本不会考循环,判断之类的。废话不多说,上干货,文章可能有点长。表格都比较重要,除了表格之外,考点都用深红色做了标记,只想知道考点的可以快速浏览。 https://www.iotword.com/24303.html
6.9.Pandas高级教程之:plot画图详解程序那些事9. Pandas高级教程之:plot画图详解简介python中matplotlib是非常重要并且方便的图形化工具,使用matplotlib可以可视化的进行数据分析,今天本文将会详细讲解Pandas中的matplotlib应用。基础画图要想使用matplotlib,我们需要引用它:In [1]: import matplotlib.pyplot as plt 假如...http://www.flydean.com/09-python-pandas-plot/
7.python画图holdonmob64ca12f7e7cf的技术博客Python 画图 Holdon 教程 在这篇文章中,我们将学习如何在Python中实现“holdon”功能,这意味着在绘图过程中,可以在同一图形上添加多条线或多个数据集。我们将使用matplotlib库,这是Python中最流行的绘图库之一。这一过程适合初学者,下面的步骤和代码将帮助你顺利完成任务。 https://blog.51cto.com/u_16213463/12162687
8.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
9.python怎么画六边形?如何用Python画一个六边形?如果准备两只turtle,一个逆时针转,一个顺时针转,就可以画出两个六边形。https://www.yutu.cn/question/tiwen_94934.html