1

我有一个顺序文件,它的键值对类型为"org.apache.hadoop.typedbytes.TypedBytesWritable",我必须提供这个文件作为 Hadoop 作业的输入,并且只能在地图中处理它。我的意思是我不必做任何需要减少的事情。

1) 我将如何将 FileInputFormat 指定为 SequentialFile ?

2) map 函数的签名是什么。

3) 我将如何从 map 而不是 Reduce 获得输出?

4

1 回答 1

3

1) 我将如何将 FileInputFormat 指定为 SequentialFile ?

SequenceFileAsBinaryInputFormat设置为输入格式。这是 SequenceFileAsBinaryInputFormat 类的代码

这是代码

JobConf conf = new JobConf(getConf(), getClass());
conf.setInputFormat(SequenceFileAsBinaryInputFormat.class);

2) map 函数的签名是什么。

映射将使用 BytesWritable 作为键和值类型来调用。

3) 我将如何从 map 而不是 Reduce 获得输出?

将该mapred.reduce.tasks属性设置为 0。地图的输出将是作业的最终输出。


另外,看看SequenceFileAsTextInputFormat。映射将使用 Text 作为键和值类型来调用。

于 2012-01-11T14:26:10.587 回答