版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于Hadoop的数据挖利用Maven构建Mahout数据分析挖掘项目前Mahout是Hadoop一员,从血缘就继承了Hadoop程序的特点,支持HDFS和MapReduce分步式算法。随着Mahout的发展,从0.7版本开 做了重大的升级。移除了部分算法的单机内存计算,只支持基于Hadoop的MapReduce平行计算。从这点上,我们能看 Mahout大数据,坚持并行化的决心!相信Hadoop的大框架下,Mahout最终能成为一个大数据的产品Mahout开发环境介绍Mahout基于HadoopMahout实现协同过滤Mahout前提:配置好了基于MavenMahout的开发环境,将继续完成Mahout的分步式的程序开发。本文的mahout版本为0.8开发Win764bit/CentosJavaMavenEclipseJunoServiceReleaseMahoutHadoop找到项目的pom.xml,修改mahout版本为然后,自动依赖$mvnclean说明:在文档13-1中,由于mahout0.8去掉了单机内存算法,全部使用并行MapReduceAPI,cn.bigdata.mymahout.cluster06.Kmeans.java类的代码是基于mahout-0.6的,不能用0.8版本。Mahout基于Hadoop如上图所示,我们可以选择在win7中开发,也可以在linux中开发,开发过程我们可以在本地环境进行调试,标配的工具都是 Maven和Eclipse。Mahout在运行过程中,会把MapReduce的算法程序包,自动发布的 的集群环境中,这种开发和运行模式,就和真正的生产环境差不多了。用Mahout实现协同过滤实现步骤1.准备数据文件:item.csv(数据文件在项目的 中2.Java程序3.Java程序4.运行5.推荐结准备数据文件上传测试数据到 HDFS,单机内存实验请参考文档 #hadoopfs-mkdir/user/mahout/userCF#hadoopfs-copyFromLocal#hadoopfs-catJava程序HdfsDAO.java,是一个HDFS操作的工具,用API实现Hadoop的各HDFS命令(联想结合一下上次培训的项目我们这里会用到HdfsDAO.java类中的一些方法:HdfsDAOhdfs=newHdfsDAO(HDFS,conf);hdfs.copyFile(localFile,inPath);Java程序用Mahout实现分步式算法,我们看Mahout的解释实现程序: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,实际上就是封装了上面整个图的分步式并行算法的执行过程如果没有这层封装,我们需要自己去实现图中8个步骤MapReduce运行程序控制台输出:cat:hdfs://10:9000/user/hdfs/userCF/item.csv….........................(中间很多MapReduce执行的日志消息 hdfs://master:9000/user/mahout/userCF/result//part-r- 我们可以把上面的日志分解析成3a.初始化环b.算法c.打印推初始化HDFS的数 和工 ,并上传数据文件delete:hdfs://master:9000/user/mahout/userCFCreate:copyfrom:datafile/item.csvto算法执行分别执行,上图中对应的8种MapReduce算法Jobcomplete:job_local_0001Jobcomplete:job_local_0002Jobcomplete:job_local_0003Jobcomplete:job_local_0004Job
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 部门年终工作总结15篇
- 湘美版美术四年级上册第3课 周末日记(教案)
- 2024智慧医疗平台数据字典标准
- 第21课《蝉》教学设计 2024-2025学年统编版语文八年级上册
- 统编版语文三年级上册第三单元习作:我来编童话 教案
- DB14-T 1613-2023 大豆种质资源抗胞囊线虫病鉴定技术规程
- 2024民政局离婚协议书范文
- 《计算机网络安全防护技术(第二版)》 课件 第3章-任务3.2.2 应用PGP软件加密和探究SSH的加密过程
- 消除免疫缺失期是猪场利润的保障
- 实验室用水国家标准
- 2023年四川省公需科目(数字经济与驱动发展)考试题库及答案
- 结节性硬化病(Bourneville-综合征)课件
- 护肝保健品行业发展状况及市场发展趋势分析
- 二年级数学上册第三单元认识锐角和钝角-学习任务单
- 易制毒化学品出入库管理制度
- 教育系统中小学校办学负面清单
- 小学英语三年级上册 Unit5 Let's eat A Let's learn说课稿 反思 人教PEP版
- 物业项目经理理论知识竞赛考试题库(600题)
- 关于素养与科技素养【六篇】
- 0-6岁智障儿童康复教育发展性课程评量
- 《支气管动脉栓塞术》
评论
0/150
提交评论