大数据分析项目_第1页
大数据分析项目_第2页
大数据分析项目_第3页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、公司简介:智友是一个年轻的文化品牌,旗下有多个互联网产品线,覆盖生活方式、音乐、创意,时尚等多个领域。致力发展为最大的年轻人文化出版与发行渠道,挖掘文化领域的年轻力量。旗下产品音乐软件“xxx”是时下最流行的音乐App,首创弹幕评论交友,独特3D音乐颠覆你的听觉体验。上线短短数月就受到了百万音乐发烧友的喜爱和追捧,苹果商店音乐免费榜长期稳居前五。公司业务:1. 发现你不知道的好听音乐、3D立体声音(雨声、场景立体特效声)、趣味声音。2. 首创声音/音乐弹幕评论,让你感觉不再是一个人听歌!从未有过的听觉社交体验。3. 随时随地录下生活中的精彩,录音变声、拍照变形统统有。4. 制作酷炫的有声表情,

2、和朋友聊天显得更萌萌哒。5. 遇见音乐/声音大咖,轻松结识跟你喜欢同一首歌/音频的朋友。6. 根据你的听歌风格定制属于你的首页歌曲和推荐歌曲。7. 根据歌曲收听量排出每种歌曲类型的热门歌曲。8. 用户录制白己的MV和歌曲上传到ech。让更多的音乐爱好者认识你。9. 用户社区,好友圈,看看你的朋友都在聊什么听什么。项目需求:1. 用户画像,根据听歌风格,每天在线时间,用户收藏了哪些歌曲,总是跳过播放哪些歌曲,来给用户打标签。2. 每天对新上线的音乐进行分类统计,每类歌曲新增数。3. 每天根据用户标签推荐他喜欢的top10歌曲。4. 实时统计用户上传的音乐,MV的数量。5. 每十分钟对用户上传的音

3、乐,MV的收听和点击率情况进行分析统计。6. 每天对用户上传的音乐进行分类化和收听点击率排名。7. 每天更新统计注册用户数和会员用户数。8. 统计端APP,android,ios占比度。9. 统计用户听歌的方向性和潮流性,来决定公司需要引进哪些类型的歌曲。10. 用户圈,统计用户圈中讨论最多的热词发现和你口味相同的朋友并推荐给你。项目架构:1. 从客户端APP,PC,网页中收集用户信息,听歌信息,上传的歌曲。2. 通过kafka推送给mr或spark清洗。3. 重用kafka作为缓存,缓存把数据存储到HDFS。4. 通过hive进行分析计算。5. 计算结果保存到hbase和mysql中。6.

4、HBase中的数据可以做用户推荐,热度排行,mysql可以共用户查看个人资料和好友信息,等级等。kafka,,HUF时-布式存情rfMR/bpark洁冼hl代信工ITIY5QJ热度排1T用户指卫户画伉需求设计:1. 从埋点日志导出用户听歌信息,用spark清洗出用户听了哪些歌曲,收藏了哪些歌曲,整理出用户喜好的歌曲是哪些风格,把这些风格写到mysql用户信息表相关联的用户歌曲风格表里。2. 用HIVE对HDFS上的每天上线的歌曲做分类统计每类新增数量。3. 从mysql查看用户的喜好歌曲标签,然后在歌曲库中找到对应的分类歌曲推荐给用户。4. 利用spark把用户上传的歌曲从HDFS上导入进来进

5、行一个求和操作,把结果直接导入hbase中。5. 从mysql中的用户注册表中通过注册时间过滤出今天注册的用户,然后进行求和操作,在今天注册的用户中按照字段“会员”条件查找会员用户求和。设计实现:统计每类新增歌曲数量从HDFS里导入hive每天分类好的歌曲每日新增歌曲数量表字段中文名字段英文名字段类型Id编号IntsongName歌曲名Stringsingername歌手名StringStyle曲风StringDate时间String演员,薛之谦,流行,2016-3-20告白气球,周杰伦流行,2016-3-20成都,赵雷流行,016-3-20espanacani,andrerieu古典,201

6、6-3-20小桃红,汤旭,民谣,2016-3-20everything,wrld,嘻哈,2016-3-20wake,free,摇滚,2016-3-20长安长安,郑钧,摇滚,2016-3-209,loveisakiller,vixen摇滚,2016-3-2010,Iremember,dokken摇滚,2016-3-20在HIVA下建一个歌曲表Createtablemusic_160320(idint,songNamestring,stylestring,singerNamestring,datestring)rowformatdelimitedfieldsterminatedby,;Loadda

7、tainpathNewMusic/music_160320/music.txtintotablemusic_160320;Hiveselectstyle,count(*)frommusic_160320groupbystyle;结果为Stylecount流行,3古典,1民谣,1嘻哈,1摇滚,42.分析APP埋点信息Json数据结构()imei”:864874020839760”,phonetype”:huaweip6”,phonesystem”:Android6.0”,user_name”:周一懵然状”,like_music”:我是不是该安静的走开,真的爱你,灰色轨迹”imei:8648740

8、20839761,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”:/J、于一”,li

9、ke_music”:imagine,respect,heyjude(imei:864874020839765,phonetype:huaweip6,phonesystem:Android6.0,user_name:thewho,like_music:misty,youreyes,alliwant用spark清洗:Varmeidian=sqlContext.jsonFile(hdfs:/jun110:9000/user/spark/meidian.json)Varqingxi=meidian.select(”user_name”,”like_music”qingxi.save(hdfs:/jun

10、110:9000/user/spark/qingxi”,json)json转化成CSV格式的文件:周一懵然状,我是不是该安静的走开,真的爱你,灰色轨迹Bigbaby,Laserlife简单爱,演员,最冷的一天1993058,最好的我,北国,少年游小于一,imagine,respect,heyjudethewho,misty,youreyes,alliwant9从歌曲库中匹配出歌曲的风格类型User_nameLike_musicstyle周一懵然状我正不正该安静的止开流行周一懵然状真的爱你流行周一懵然状灰轨迹流行BigbabyLaserlife摇滚Bigbaby简单爱流行Bigbaby演员流行b

11、igbaby取冷的天流行1993058最好的我流行1993058北国民谣1993058少年游民谣小于一imagine摇滚小于一Respect摇滚小于一Heyjude摇滚thewhomisty轻音乐thewhoYoureyes轻音乐thewhoAllIwant轻音乐导入hive进行行转列去除多余字段Hivecreatetableuser_style(user_namestring,music_namestring,stylestring)rowformatdelimitedfieldsterminatedby,;HiveLoaddatainpathuser/user_music.txtintot

12、ableuser_style;Hiveselectuser_name,concat_ws(,collect_set(stylei)E)enomtylegroupbyuser_name;用sqoop把结果导入mysqlUser_nameStyle周一懵然状流行Bigbaby摇滚,流行1993058流行,民谣小于一摇滚Thewho轻音乐3.统计mysql用户表里每天注册用户数User_namevarChar用户名PasswdVarchar密码Sexchar性别Register_datevarchar注册时间Createtableuser(user_namevarchar(16),passwdvar

13、char(16),sexchar(2),register_datevarchar(20);MysqlSelect今日注册数”,count(user_namefromuserwhereunix_timestamp(register_date)unix_timestamp()-1*24*60*60;结果:今日注册数1230HBase性能优化修改Linux最大文件数Linux系统最大可打开文件数一般默认的参数值是1024,如果你不进行修改并发量上来的时候会出现“TooManyOpenFileS的错误,导致整个HBase不可运行查看:ulimit-a结果:openfiles(-n)1024临时修改:u

14、limit-n4096持久修改:在文件最后加上:softnofile65535hardnofile65535softnproc65535hardnproc65535修改JVM配置修改文件中的配置参数HBASE_HEAPSIZE4000#HBaW的JVM堆的大小HBASE_OPTS-server-XX:+UseConcMarkSweepGCJV#GC选项参数解释:-client,-server这两个参数用于设置虚拟机使用何种运行模式,client模式启动比较快,但运行时性能和内存管理效率不如server模式,通常用于客户端应用程序。相反,server模式启动比client慢,但可获得更高的运行性

15、能。1. -XX:+UseConcMarkSweepGC设置为并发收集修改HBase配置:3.1.默认值:3分钟180000ms,可以改成1分钟说明:RegionServer与Zookeeper间的连接超时时间。当超时时间到后,ReigonServer会被Zookeeper从RS集群清单中移除,HMaster收到移除通知后,会对这台server负责的regions重新balance,让其他存活的RegionServer接管.调优:这个timeout决定了RegionServer是否能够及时的failover。设置成1分钟或更低,可以减少因等待超时而被延长的failover时间。不过需要注意的是

16、,对于一些Online应用,RegionServer从宕机到恢复时间本身就很短的网络闪断,crash等故障,运维可快速介入,如果调低timeout时间,反而会得不偿失。因为当ReigonServer被正式从RS集群中移除时,HMaster就开始做balance了让其他RS根据故障机器记录的WAL日志进行恢复。当故障的RS在人工介入恢复后,这个balance动作是毫无意义的,反而会使负载不均匀,给RS带来更多负担。特别是那些固定分配regions的场景hbase.regionserver.handler.count默认值:10说明:RegionServer的请求处理IO线程数。调优:这个参数的调

17、优与内存息息相关。较少的IO线程,适用于处理单次请求内存消耗较高的BigPUTS景大容量单次PUT或设置了较大cache的scan,均属于BigPUT或ReigonServer的内存比较紧张的场景。较多的IO线程,适用于单次请求内存消耗低,TPS吞吐量要求非常高的场景。hbase.hregion.max.filesize默认值:256M说明:在当前ReigonServer上单个Reigon的最大存储空间,单个Region超过该值时,这个Region会被白动split成更小的region。调优:小region对split和compaction友好,因为拆分region或compact小regio

18、n里的storefile速度很快,内存占用低。缺点是split和compaction会彳艮频繁。特别是数量较多的小region不停地split,compaction,会导致集群响应时间波动很大,region数量太多不仅给管理上带来麻烦,甚至会引发一些Hbase的bug。一般512以下的都算小regiono大region,贝U不会经常split和compaction,因为做次compact和split会产生较长时间的停顿,对应用的读写性能冲击非常大。hfile.block.cache.size默认值:说明:storefile的读缓存占用内存的大小百分比,表示20%该值直接影响数据读的性能。调优:当然是越大越好,如果写比读少很多,开到也没问题。如果读写较均衡,左右。如果写比读多,果断默认吧。HBase上Regionserver的内存分为两个部分,一部分作为Memstore,主要用来写;另外一部分作为BlockCache主要用于读。写请求会先写入Memstore,Regionserver会给每个region提供一个Memstore,当Memstore满64MB以后,会启动flush刷新到磁盘。读请求先到Memstore中查数据,查不到就到BlockCache中查,再查不到就会到磁盘上读,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论