rhadoop mapreduce详解
无奈,rhadoop这个方面的书简直太少了,从官方的源代码学习吧。
mapreduce(
input,
output = NULL,
map = to.map(identity),
reduce = NULL,
vectorized.reduce = FALSE,
combine = NULL,
in.memory.combine = FALSE,
input.format = “native”,
output.format = “native”,
backend.parameters = list(),
verbose = TRUE)
这个是官方文档对于map-reduce的一些定义,一会详细解释一下。
input:输入路径,指的是hdfs中路径
ouput:输出路径,允许为NULL,当为NULL时,输出结果在 /tmp目录下
map: 大致可以理解为hadoop中的map,但是返回形式略有不同,
返回的是keyval这样的对象,接下来具体介绍keyval,也可以理解为key-value这样的组合。
reduce:大致同hadoop中的reduce,同一个key后面跟着的是value的list形式
combine: 同hadoop中combiner,略有不同,为TRUE时,使用reducer作为combiner,为NULL则不使用。
in.memory.combine :这个属性为true时,便会进行本地的combiner,类似于hadoop中的combiner,可以提高效率和时间
backend.parameters = list(),
verbose = TRUE
这两个属性可以无视,是做一些配置工作的。