大數(shù)據(jù)分析項(xiàng)目_第1頁
大數(shù)據(jù)分析項(xiàng)目_第2頁
大數(shù)據(jù)分析項(xiàng)目_第3頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、公司簡介:式、音樂、創(chuàng)意,時(shí)尚等多個(gè)領(lǐng)域。3D 音樂顛覆你的聽覺體驗(yàn)。上線短短數(shù)月就受到了公司業(yè)務(wù):3D 3D ()、趣味聲音。趣味聲音。首創(chuàng)聲音/首創(chuàng)聲音/音樂彈幕評(píng)論,讓你感覺不再是一個(gè)人聽歌!從未有過的聽覺社交體驗(yàn)。的聽覺社交體驗(yàn)。3.4.遇見音樂/遇見音樂/聲音大咖,輕松結(jié)識(shí)跟你喜歡同一首歌/音頻的朋友。6.根據(jù)歌曲收聽量排出每種歌曲類型的熱門歌曲。MV echo 你。用戶社區(qū),好友圈,看看你的朋友都在聊什么聽什么。項(xiàng)目需求:總是跳過播放哪些歌曲,來給用戶打標(biāo)簽。每天對(duì)新上線的音樂進(jìn)行分類統(tǒng)計(jì),每類歌曲新增數(shù)。top10 歌曲。 的數(shù)量。 計(jì)。每天對(duì)用戶上傳的音樂進(jìn)行分類化和收聽點(diǎn)擊率

2、排名。8.APP,android,ios 占比度。歌曲。用戶圈,統(tǒng)計(jì)用戶圈中討論最多的熱詞。發(fā)現(xiàn)和你口味相同的朋友并推薦給你。項(xiàng)目架構(gòu):歌曲。kafkamr spark 清洗。kafkaHDFS 上。hive 進(jìn)行分析計(jì)算。hbase mysql中。HBase 看個(gè)人資料和好友信息,等級(jí)等。需求設(shè)計(jì):spark mysql用戶信息表相關(guān)聯(lián)的用戶歌曲風(fēng)格表里。HIVE HDFS 上的每天上線的歌曲做分類統(tǒng)計(jì)每類新增數(shù)量。從 mysql 分類歌曲推薦給用戶。spark HDFS 上導(dǎo)入進(jìn)來進(jìn)行一個(gè)求和操hbase 中。mysql 設(shè)計(jì)實(shí)現(xiàn):統(tǒng)計(jì)每類新增歌曲數(shù)量HDFS hive 每日新增歌曲數(shù)量表

3、字段中文名字段英文名字段類型Id編號(hào)IntsongName歌曲名Stringsingername歌手名StringStyle曲風(fēng)StringDate時(shí)間String1,演員,薛之謙, 流行,2016-3-202,告白氣球,周杰倫,流行,2016-3-203,成都,趙雷,流行,016-3-204,espana cani,andre rieu,古典,2016-3-20 5,小桃紅,湯旭,民謠,2016-3-20 6,everything,wrld, 嘻 哈 ,2016-3-20 7,wake,free,搖滾,2016-3-208,長安長安,2016-3-20 9,love is a 搖滾,2016

4、-3-20 10,I 搖滾,2016-3-20 HIVA 下建一個(gè)歌曲表Create table music_160320(id int,songName string,style string,singerName string,date string)row format delimited fields terminated by ,;Load data inpath NewMusic/music_160320/music.txt into table music_160320;Hiveselect style,count(*) from music_160320 group by st

5、yle;結(jié)果為Style 流行,3民謠嘻哈搖滾APP 埋點(diǎn)信息Json 數(shù)據(jù)結(jié)構(gòu)(maidian.json)imei:864874020839760,phone type:huawei p6,phone system:Android6.0,user_name:周一懵然狀,like_music:我是不是該安靜的走開,真的愛你,灰色軌跡imei:864874020839761,phone type:huawei p6,phone system:Android6.0,user_name:bigbaby,like_music:Laser life,簡單愛,演員,最冷的一天imei:8648740208

6、39762,phone type:huawei p6,phone 最好的我,北國,imei:864874020839764,phone type:huawei p6,phone system:Android6.0,user_name:小于一,like_music:imagine,respect,hey judeimei:864874020839765,phone type:huawei p6,phone system:Android6.0,user_name:the who,like_music:misty,your eyes,all i wantspark 清洗:Var meidian=sq

7、lContext.jsonFile(hdfs:/jun110:9000/user/spark/meidian.js on)Var qingxi=meidian.select(”user_name”,”like_music”) qingxi.save(hdfs:/jun110:9000/user/spark/qingxi,json) json 轉(zhuǎn)化成 CSV 格式的文件:周一懵然狀,我是不是該安靜的走開,真的愛你,灰色軌跡Bigbaby,Laser life,簡單愛,演員,最冷的一天1993058,最好的我,北國,少年游小 于 一 ,imagine,respect,hey jude the wh

8、o,misty,your eyes,all i want9 從歌曲庫中匹配出歌曲的風(fēng)格類型User_nameLike_musicstyle周一懵然狀我是不是該安靜的走開流行周一懵然狀真的愛你流行周一懵然狀灰軌跡流行BigbabyLaser life搖滾Bigbaby簡單愛流行Bigbaby演員流行bigbaby最冷的一天流行1993058最好的我流行1993058北國民謠1993058少年游民謠小于一imagine搖滾小于一Respect搖滾小于一Hey jude搖滾the whomisty輕音樂the whoYour eyes輕音樂the whoAll I want輕音樂導(dǎo)入 hive 進(jìn)行

9、行轉(zhuǎn)列去除多余字段Hivecreate table user_style(user_name string,music_name string,style string) row format delimited fields terminated by ,;HiveLoad data inpath user/user_music.txt into table user_style; Hiveselectuser_name,concat_ws(,collect_set(style)from user_stylegroup by user_name;sqoop mysqlUser_nameUse

10、r_nameStyle周一懵然狀流行Bigbaby搖滾,流行1993058流行,民謠小于一搖滾The who輕音樂mysql用戶表里每天注冊(cè)用戶數(shù)User_nameUser_namevarChar用戶名PasswdVarchar密碼Sexchar性別Register_datevarchar注冊(cè)時(shí)間Create table user(user_name varchar(16),passwd varchar(16),sex char(2),register_date varchar(20);MysqlSelect“ 今日注冊(cè)數(shù)”,count(user_name) fromuserwhereunix

11、_timestamp(register_date) unix_timestamp()-1*24*60*60;結(jié)果:今日注冊(cè)數(shù) 1230HBase 性能優(yōu)化Linux 最大文件數(shù)Linux 1024,如果你不進(jìn)Many Open Files ”的錯(cuò)誤,導(dǎo)HBase 不可運(yùn)行查看:ulimit-a結(jié)果:openfiles (-n) 1024臨時(shí)修改: ulimit -n 4096持久修改:vi /etc/security/limits.conf 在文件最后加上:soft nofile65535hard nofile65535soft nproc65535hard nproc65535修改 JVM

12、配置修改 hbase-env.sh 文件中的配置參數(shù)HBASE_HEAPSIZE 4000 #HBase 使用的 JVM 堆的大小HBASE_OPTS server XX:+UseConcMarkSweepGCJVM #GC 選項(xiàng)參數(shù)解釋:-client,-server這兩個(gè)參數(shù)用于設(shè)置虛擬機(jī)使用何種運(yùn)行模式,client 模式啟動(dòng)比較server 應(yīng)用程序。相反,server client 慢,但可獲得更高的運(yùn)行性能。XX:+UseConcMarkSweepGC:設(shè)置為并發(fā)收集HBase 配置:hbase-site.xmlzookeeper.session.timeout默認(rèn)值:3 分鐘(1

13、80000ms),可以改成 1 分鐘說明:RegionServer Zookeeper 間的連接超時(shí)時(shí)間。當(dāng)超時(shí)時(shí)間到后,ReigonServer Zookeeper RS 集群清單中移除,HMaster 收server regions RegionServer 接管.調(diào)優(yōu):這個(gè) timeout 決定了 RegionServer 是否能夠及時(shí)的 failover。設(shè)置成 1分鐘或更低,可以減少因等待超時(shí)而被延長的 failover 時(shí)間。不過需要注意的是,對(duì)于一些Online 從宕機(jī)到恢復(fù)時(shí)間本身就很短的(h 等故障,運(yùn)維可快速介入timeout ReigonServer 被正RS 集群中移除

14、時(shí),HMaster balance 了(RS 根WAL 日志進(jìn)行恢復(fù)RS 在人工介入恢復(fù)后,這個(gè)balance 動(dòng)作是毫無意義的,反而會(huì)使負(fù)載不均勻,給RS帶來更多負(fù)擔(dān)。特別是那些固定分配 regions 的場景。hbase.regionserver.handler.count默認(rèn)值:10說明:RegionServer 的請(qǐng)求處理 IO 線程數(shù)。調(diào)優(yōu):這個(gè)參數(shù)的調(diào)優(yōu)與內(nèi)存息息相關(guān)。默認(rèn)值:10說明:RegionServer 的請(qǐng)求處理 IO 線程數(shù)。調(diào)優(yōu):這個(gè)參數(shù)的調(diào)優(yōu)與內(nèi)存息息相關(guān)。較少的 IO 線程,適用于處理單次請(qǐng)求內(nèi)存消耗較高的 Big PUT 場景(PUT cache scanBig

15、 PUT)或ReigonServer 的內(nèi)存比較緊張的場景。較多的 IO 線程,適用于單次請(qǐng)求內(nèi)存消耗低,TPS(吞吐量)要求非常高的場景。hbase.hregion.max.filesize默認(rèn)值:256M說明:在當(dāng)前 ReigonServer 上單個(gè) Reigon 的最大存儲(chǔ)空間,單個(gè)Region 默認(rèn)值:256M說明:在當(dāng)前 ReigonServer 上單個(gè) Reigon 的最大存儲(chǔ)空間,單個(gè)Region 超過該值時(shí),這個(gè) Region 會(huì)被自動(dòng) split 成更小的 region。調(diào)優(yōu):region split compaction region compactregion store

16、file split 和compaction 會(huì)很頻繁。特別是數(shù)量較多的小 region 不停地 split, compaction,會(huì)導(dǎo)致集群響應(yīng)時(shí)間波動(dòng)很大,應(yīng)時(shí)間波動(dòng)很大,region 數(shù)量太多不僅給管理上帶來麻煩,甚至?xí)﨟base Hbase 。一般 512 以下的都算小 region。regionsplit compactioncompact 和split 會(huì)產(chǎn)生較長時(shí)間的停頓,對(duì)應(yīng)用的讀寫性能沖擊非常大。hfile.block.cache.size默認(rèn)值:0.2說明:storefile 的讀緩存占用內(nèi)存的大小百分比,0.2 表示 20%。該值直接影響數(shù)據(jù)讀的性能。調(diào)優(yōu):當(dāng)然是越大越

17、好,如果寫比讀少很多,開到 0.4-0.5 也沒問題。如果讀寫較均衡,0.3 默認(rèn)值:0.2說明:storefile 的讀緩存占用內(nèi)存的大小百分比,0.2 表示 20%。該值直接影響數(shù)據(jù)讀的性能。調(diào)優(yōu):當(dāng)然是越大越好,如果寫比讀少很多,開到 0.4-0.5 也沒問題。如果讀寫較均衡,0.3 左右。如果寫比讀多,果斷默認(rèn)吧。HBase Regionserver 的內(nèi)存分為兩個(gè)部分,一部分作為Memstore,主要用來寫;另外一部分作為 BlockCache,主要用于讀。寫請(qǐng)求會(huì)先寫入 Memstore,Regionserver 會(huì)給每個(gè) region 提供一個(gè)Memstore 64MB flus

18、h 刷新到磁盤。讀請(qǐng)求先到 Memstore 中查數(shù)據(jù),查不到就到 BlockCache 中查,再查不到就會(huì)到磁盤上讀,并把讀的結(jié)果放入 BlockCache。由于BlockCache 采用的是 LRU 策略(Least Recently Used 近期最少使用算法,因此e 達(dá)到上限e* e*0.85)后,會(huì)啟動(dòng)淘汰機(jī)制,淘汰掉最老的一批數(shù)據(jù)。Regionserver BlockCache 和N 小之和不能大于等于內(nèi)存* 0.8,否則 小之和不能大于等于內(nèi)存* 0.8,否則 HBase 不能啟動(dòng)。默認(rèn)BlockCache 0.2Memstore 0.4。對(duì)于注重讀響應(yīng)時(shí)間的系統(tǒng),可以將 BlockCache 設(shè)大些,比如設(shè)置 BlockCache=0.4,Memstore=0.39,以加大緩存的命中率。hbase.hregion.memstore.block.multiplier默認(rèn)值:2region 里 的 memstore region 的所flush,釋放內(nèi)存。雖然我們?cè)O(shè)置了r

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論