實(shí)驗(yàn)7-3mahout分布式數(shù)據(jù)挖掘程序?qū)崿F(xiàn)物品協(xié)同過(guò)濾_第1頁(yè)
實(shí)驗(yàn)7-3mahout分布式數(shù)據(jù)挖掘程序?qū)崿F(xiàn)物品協(xié)同過(guò)濾_第2頁(yè)
實(shí)驗(yàn)7-3mahout分布式數(shù)據(jù)挖掘程序?qū)崿F(xiàn)物品協(xié)同過(guò)濾_第3頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

基于Hadoop的數(shù)據(jù)挖利用Maven構(gòu)建Mahout數(shù)據(jù)分析挖掘項(xiàng)目前Mahout是Hadoop一員,從血緣就繼承了Hadoop程序的特點(diǎn),支持HDFS和MapReduce分步式算法。隨著Mahout的發(fā)展,從0.7版本開(kāi) 做了重大的升級(jí)。移除了部分算法的單機(jī)內(nèi)存計(jì)算,只支持基于Hadoop的MapReduce平行計(jì)算。從這點(diǎn)上,我們能看 Mahout大數(shù)據(jù),堅(jiān)持并行化的決心!相信Hadoop的大框架下,Mahout最終能成為一個(gè)大數(shù)據(jù)的產(chǎn)品Mahout開(kāi)發(fā)環(huán)境介紹Mahout基于HadoopMahout實(shí)現(xiàn)協(xié)同過(guò)濾Mahout前提:配置好了基于MavenMahout的開(kāi)發(fā)環(huán)境,將繼續(xù)完成Mahout的分步式的程序開(kāi)發(fā)。本文的mahout版本為0.8開(kāi)發(fā)Win764bit/CentosJavaMavenEclipseJunoServiceReleaseMahoutHadoop找到項(xiàng)目的pom.xml,修改mahout版本為然后,自動(dòng)依賴$mvnclean說(shuō)明:在文檔13-1中,由于mahout0.8去掉了單機(jī)內(nèi)存算法,全部使用并行MapReduceAPI,cn.bigdata.mymahout.cluster06.Kmeans.java類的代碼是基于mahout-0.6的,不能用0.8版本。Mahout基于Hadoop如上圖所示,我們可以選擇在win7中開(kāi)發(fā),也可以在linux中開(kāi)發(fā),開(kāi)發(fā)過(guò)程我們可以在本地環(huán)境進(jìn)行調(diào)試,標(biāo)配的工具都是 Maven和Eclipse。Mahout在運(yùn)行過(guò)程中,會(huì)把MapReduce的算法程序包,自動(dòng)發(fā)布的 的集群環(huán)境中,這種開(kāi)發(fā)和運(yùn)行模式,就和真正的生產(chǎn)環(huán)境差不多了。用Mahout實(shí)現(xiàn)協(xié)同過(guò)濾實(shí)現(xiàn)步驟1.準(zhǔn)備數(shù)據(jù)文件:item.csv(數(shù)據(jù)文件在項(xiàng)目的 中2.Java程序3.Java程序4.運(yùn)行5.推薦結(jié)準(zhǔn)備數(shù)據(jù)文件上傳測(cè)試數(shù)據(jù)到 HDFS,單機(jī)內(nèi)存實(shí)驗(yàn)請(qǐng)參考文檔 #hadoopfs-mkdir/user/mahout/userCF#hadoopfs-copyFromLocal#hadoopfs-catJava程序HdfsDAO.java,是一個(gè)HDFS操作的工具,用API實(shí)現(xiàn)Hadoop的各HDFS命令(聯(lián)想結(jié)合一下上次培訓(xùn)的項(xiàng)目我們這里會(huì)用到HdfsDAO.java類中的一些方法:HdfsDAOhdfs=newHdfsDAO(HDFS,conf);hdfs.copyFile(localFile,inPath);Java程序用Mahout實(shí)現(xiàn)分步式算法,我們看Mahout的解釋實(shí)現(xiàn)程序:package importimportorg.apache.mahout.cf.taste importcn.bigdata.mymahout.hdfs.HdfsDAO;publicclassItemCFHadoopprivatestaticfinalStringHDFS=publicstaticvoidmain(String[]args)throws{StringlocalFile="datafile/item.csv";StringinPath=HDFS+"/user/mahout/userCF";StringinFile=inPath+"/item.csv";StringoutPath=HDFS+"/user/mahout/userCF/result/";StringoutFile=outPath+"/part-r-00000";StringtmpPath=HDFS+"/tmp/"+JobConfconf=HdfsDAOhdfs=newHdfsDAO(HDFS,conf);StringBuildersb=newStringBuilder();sb.append("--input").append(inPath);sb.append("--output").append(outPath);sb.append("--booleanDatatrue");sb.append("--similarityClassnamesb.append("--tempDir").append(tmpPath);args=sb.toString().split("");menderJobjob=new }publicstaticJobConfconfig()JobConfconf=newJobConf(ItemCFHadoop.class);returnconf;}}menderJob.java,實(shí)際上就是封裝了上面整個(gè)圖的分步式并行算法的執(zhí)行過(guò)程如果沒(méi)有這層封裝,我們需要自己去實(shí)現(xiàn)圖中8個(gè)步驟MapReduce運(yùn)行程序控制臺(tái)輸出:cat:hdfs://10:9000/user/hdfs/userCF/item.csv….........................(中間很多MapReduce執(zhí)行的日志消息 hdfs://master:9000/user/mahout/userCF/result//part-r- 我們可以把上面的日志分解析成3a.初始化環(huán)b.算法c.打印推初始化HDFS的數(shù) 和工 ,并上傳數(shù)據(jù)文件delete:hdfs://master:9000/user/mahout/userCFCreate:copyfrom:datafile/item.csvto算法執(zhí)行分別執(zhí)行,上圖中對(duì)應(yīng)的8種MapReduce算法Jobcomplete:job_local_0001Jobcomplete:job_local_0002Jobcomplete:job_local_0003Jobcomplete:job_local_0004Job

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論