在Hadoop中,MapReduce的Java作业通常由编写Mapper和Reducer开始,接着创建Job对象,然后使用该对象的set方法设置Mapper和Reducer以及诸如输入输出等参数,最后调用Job对象的waitForCompletion(true)方法提交作业并等待作业的完成。尽管使用了寥寥数语就描述了作业的创建和提交,但实际情况要复杂的多,本篇文章将通过分析源代码来深入学习该过程。...
分类:
其他好文 时间:
2014-10-27 17:48:18
阅读次数:
152
??
一、从Map到Reduce
MapReduce其实是分治算法的一种实现,其处理过程亦和用管道命令来处理十分相似,一些简单的文本字符的处理甚至也可以使用Unix的管道命令来替代,从处理流程的角度来看大概如下:
cat input | grep | sort | uniq -c | cat > output
# Input -> Map -> Shuffle & Sort -> R...
分类:
其他好文 时间:
2014-10-26 17:06:35
阅读次数:
278
阅读导读:
1.简述用Mahout实现协同过滤ItemCF的步骤?
2.如何用API实现Hadoop的各种HDFS命令?
3.Kmeans.java类报错,暂时可以怎么处理?
1.
Mahout开发环境介绍
在用Maven构建Mahout项目文章中,我们已经配置好了基于Maven的Mahout的开发环境,我们将继续完成Mahout的分步式的程序开发。
本文的...
分类:
其他好文 时间:
2014-10-26 14:23:16
阅读次数:
297
发现每次reduce阶段跑到98%,相关的container被杀,报出的log大概...
分类:
其他好文 时间:
2014-10-25 18:49:24
阅读次数:
130
阅读导读:
1.Mahout0.7版本和其他Mahout版本的有什么区别?
2.简述Mahout方法中算法实现过程?
3.R语言和Mahout生成的点,并不是重合的,原因有哪些?
1.开发环境
开发环境
Win7 64bit
Java 1.6.0_45
Maven 3
Eclipse Juno Service Relea...
分类:
其他好文 时间:
2014-10-25 11:52:47
阅读次数:
275
问题描述topK算法,简而言之,就是求n个数据里的前m大个数据,一般而言,mlistSize = count($list); 14 15 $i = 1; 16 17 foreach ($list as $li) { 18 19 $this...
分类:
编程语言 时间:
2014-10-24 18:38:00
阅读次数:
214
环境:
hadoop-2.5.0-cdh5.2.0
mahout-0.9-cdh5.2.0
引言
虽然Mahout已经宣布不再继续基于Mapreduce开发,迁移到Spark,但是实际面临的情况是公司集群没有足够的内存支持Spark这只把内存当饭吃的猛兽,再加上项目进度的压力以及开发人员的技能现状,所以不得不继续使用Mahout一段时间。
今天记录...
分类:
编程语言 时间:
2014-10-24 16:36:02
阅读次数:
268
Hive是基于Hadoop平台的,它提供了类似SQL一样的查询语言HQL。有了Hive,如果使用过SQL语言,并且不理解Hadoop MapReduce运行原理,也就无法通过编程来实现MR,但是你仍然可以很容易地编写出特定查询分析的HQL语句,通过使用类似SQL的语法,将HQL查询语句提交Hiv.....
分类:
其他好文 时间:
2014-10-24 14:23:25
阅读次数:
201
(1)key-value到map端比较容易,每个分片都会交由一个MapTask,而每个分片由InputFormat(一般是FileInputFormat)决定(一般是64M), 每个MapTask会调用N次map函数,具体是多少次map函数呢? 由job.setInputForm...
分类:
其他好文 时间:
2014-10-22 23:30:18
阅读次数:
371