本实验采用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('/
(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文件。复制以下代码: