大数据分析项目.docx

上传人:b****2 文档编号:1871291 上传时间:2022-10-24 格式:DOCX 页数:9 大小:45.26KB
下载 相关 举报
大数据分析项目.docx_第1页
第1页 / 共9页
大数据分析项目.docx_第2页
第2页 / 共9页
大数据分析项目.docx_第3页
第3页 / 共9页
大数据分析项目.docx_第4页
第4页 / 共9页
大数据分析项目.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

大数据分析项目.docx

《大数据分析项目.docx》由会员分享,可在线阅读,更多相关《大数据分析项目.docx(9页珍藏版)》请在冰豆网上搜索。

大数据分析项目.docx

大数据分析项目

公司简介:

智友是一个年轻的文化品牌,旗下有多个互联网产品线,覆盖生活方式、音乐、创意,时尚等多个领域。

致力发展为最大的年轻人文化出版与发行渠道,挖掘文化领域的年轻力量。

旗下产品音乐软件“xxx”是时下最流行的音乐App,首创弹幕评论交友,独特3D音乐颠覆你的听觉体验。

上线短短数月就受到了百万音乐发烧友的喜爱和追捧,苹果商店音乐免费榜长期稳居前五。

公司业务:

1.发现你不知道的好听音乐、3D立体声音(雨声、场景立体特效声)、趣味声音。

2.首创声音/音乐弹幕评论,让你感觉不再是一个人听歌!

从未有过的听觉社交体验。

3.随时随地录下生活中的精彩,录音变声、拍照变形统统有。

4.制作酷炫的有声表情,和朋友聊天显得更萌萌哒。

5.遇见音乐/声音大咖,轻松结识跟你喜欢同一首歌/音频的朋友。

6.根据你的听歌风格定制属于你的首页歌曲和推荐歌曲。

7.根据歌曲收听量排出每种歌曲类型的热门歌曲。

8.用户录制自己的MV和歌曲上传到echo让更多的音乐爱好者认识你。

9.用户社区,好友圈,看看你的朋友都在聊什么听什么。

项目需求:

1.用户画像,根据听歌风格,每天在线时间,用户收藏了哪些歌曲,总是跳过播放哪些歌曲,来给用户打标签。

2.每天对新上线的音乐进行分类统计,每类歌曲新增数。

3.每天根据用户标签推荐他喜欢的top10歌曲。

4.实时统计用户上传的音乐,MV的数量。

5.每十分钟对用户上传的音乐,MV的收听和点击率情况进行分析统计。

6.每天对用户上传的音乐进行分类化和收听点击率排名。

7.每天更新统计注册用户数和会员用户数。

8.统计手机端APP,android,ios占比度。

9.统计用户听歌的方向性和潮流性,来决定公司需要引进哪些类型的歌曲。

10.用户圈,统计用户圈中讨论最多的热词。

11.发现和你口味相同的朋友并推荐给你。

项目架构:

1.从手机客户端APP,PC,网页中收集用户信息,听歌信息,上传的歌曲。

2.通过kafka推送给mr或spark清洗。

3.重用kafka作为缓存,缓存把数据存储到HDFS上。

4.通过hive进行分析计算。

5.计算结果保存到hbase和mysql中。

6.HBase中的数据可以做用户推荐,热度排行,mysql可以共用户查看个人资料和好友信息,等级等。

 

需求设计:

1.从埋点日志导出用户听歌信息,用spark清洗出用户听了哪些歌曲,收藏了哪些歌曲,整理出用户喜好的歌曲是哪些风格,把这些风格写到mysql用户信息表相关联的用户歌曲风格表里。

2.用HIVE对HDFS上的每天上线的歌曲做分类统计每类新增数量。

3.从mysql查看用户的喜好歌曲标签,然后在歌曲库中找到对应的分类歌曲推荐给用户。

4.利用spark把用户上传的歌曲从HDFS上导入进来进行一个求和操作,把结果直接导入hbase中。

5.从mysql中的用户注册表中通过注册时间过滤出今天注册的用户,然后进行求和操作,在今天注册的用户中按照字段“会员”条件查找会员用户求和。

 

设计实现:

1.统计每类新增歌曲数量

从HDFS里导入hive每天分类好的歌曲

每日新增歌曲数量表

字段中文名

字段英文名

字段类型

Id

编号

Int

songName

歌曲名

String

singername

歌手名

String

Style

曲风

String

Date

时间

String

1,演员,薛之谦,流行,2016-3-20

2,告白气球,周杰伦,流行,2016-3-20

3,成都,赵雷,流行,016-3-20

4,espanacani,andrerieu,古典,2016-3-20

5,小桃红,汤旭,民谣,2016-3-20

6,everything,wrld,嘻哈,2016-3-20

7,wake,free,摇滚,2016-3-20

8,长安长安,郑钧,摇滚,2016-3-20

9,loveisakiller,vixen,摇滚,2016-3-20

10,Iremember,dokken,摇滚,2016-3-20

在HIVA下建一个歌曲表

Createtablemusic_160320(idint,songNamestring,stylestring,singerNamestring,datestring)rowformatdelimitedfieldsterminatedby‘,’;

Loaddatainpath‘NewMusic/music_160320/music.txt’intotablemusic_160320;

Hive>selectstyle,count(*)frommusic_160320groupbystyle;

结果为

Stylecount

流行,3

古典,1

民谣,1

嘻哈,1

摇滚,4

2.分析APP埋点信息

Json数据结构(maidian.json)

{"imei":

"864874020839760","phonetype":

"huaweip6","phonesystem":

"Android6.0","user_name":

"周一懵然状","like_music":

"我是不是该安静的走开,真的爱你,灰色轨迹"}

{"imei":

"864874020839761","phonetype":

"huaweip6","phonesystem":

"Android6.0","user_name":

"bigbaby","like_music":

"Laserlife,简单爱,演员,最冷的一天"}

{"imei":

"864874020839762","phonetype":

"huaweip6","phonesystem":

"Android6.0","user_name":

"1993058","like_music":

"最好的我,北国,少年游"}

{"imei":

"864874020839764","phonetype":

"huaweip6","phonesystem":

"Android6.0","user_name":

"小于一","like_music":

"imagine,respect,heyjude"}

{"imei":

"864874020839765","phonetype":

"huaweip6","phonesystem":

"Android6.0","user_name":

"thewho","like_music":

"misty,youreyes,alliwant"}

用spark清洗:

Varmeidian=sqlContext."hdfs:

//jun110:

9000/user/spark/meidian.json")

Varqingxi=meidian.select(”user_name”,”like_music”)

qingxi.save("hdfs:

//jun110:

9000/user/spark/qingxi","json")

json转化成CSV格式的文件:

周一懵然状,我是不是该安静的走开,真的爱你,灰色轨迹

Bigbaby,Laserlife,简单爱,演员,最冷的一天

最好的我,北国,少年游

小于一,imagine,respect,heyjude

thewho,misty,youreyes,alliwant9

从歌曲库中匹配出歌曲的风格类型

User_name

Like_music

style

周一懵然状

我是不是该安静的走开

流行

周一懵然状

真的爱你

流行

周一懵然状

灰轨迹

流行

Bigbaby

Laserlife

摇滚

Bigbaby

简单爱

流行

Bigbaby

演员

流行

bigbaby

最冷的一天

流行

最好的我

流行

北国

民谣

少年游

民谣

小于一

imagine

摇滚

小于一

Respect

摇滚

小于一

Heyjude

摇滚

thewho

misty

轻音乐

thewho

Youreyes

轻音乐

thewho

AllIwant

轻音乐

导入hive进行行转列去除多余字段

Hive>createtableuser_style(user_namestring,music_namestring,stylestring)rowformatdelimitedfieldsterminatedby‘,’;

Hive>Loaddatainpath‘user/user_music.txt’intotableuser_style;

Hive>selectuser_name,concat_ws(‘,’,collect_set(style))fromuser_stylegroupbyuser_name;

用sqoop把结果导入mysql

User_name

Style

周一懵然状

流行

Bigbaby

摇滚,流行

流行,民谣

小于一

摇滚

Thewho

轻音乐

3.统计mysql用户表里每天注册用户数

User_name

varChar

用户名

Passwd

Varchar

密码

Sex

char

性别

Register_date

varchar

注册时间

Createtableuser(user_namevarchar(16),passwdvarchar(16),sexchar

(2),register_datevarchar(20));

Mysql>Select“今日注册数”,count(user_name)fromuserwhereunix_timestamp(register_date)>unix_timestamp()-1*24*60*60;

结果:

今日注册数1230

HBase 性能优化

1.修改Linux最大文件数

Linux系统最大可打开文件数一般默认的参数值是1024,如果你不进行修改并发量上来的时候会出现“TooManyOpenFiles”的错误,导致整个HBase不可运行

查看:

ulimit-a结果:

openfiles(-n)1024

临时修改:

ulimit-n4096

持久修改:

vi/etc/security/limits.conf在文件最后加上:

*softno

*hardno

*softnproc65535

*hardnproc65535

2.修改JVM配置

修改hbase-env.sh文件中的配置参数

HBASE_HEAPSIZE4000#HBase使用的JVM堆的大小

HBASE_OPTS"‐server‐XX:

+UseConcMarkSweepGC"JVM #GC选项

参数解释:

-client,-server

这两个参数用于设置虚拟机使用何种运行模式,client模式启动比较快,但运行时性能和内存管理效率不如server模式,通常用于客户端应用程序。

相反,server模式启动比client慢,但可获得更高的运行性能。

‐XX:

+UseConcMarkSweepGC:

设置为并发收集

3.修改HBase配置:

hbase-site.xml

3.1.zookeeper.session.ti

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 育儿理论经验

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1