如何读取Hadoop Sequential文件作为Hadoop作业的输入?

时间:2012-01-11 10:53:55

标签: hadoop mapreduce sequence hadoop-streaming

我有一个Sequential文件,其键值对为“org.apache.hadoop.typedbytes.TypedBytesWritable”,我必须提供此文件作为Hadoop作业的输入和必须只在地图中处理它。我的意思是我不需要做任何需要减少的事情。

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

2)地图功能的签名是什么。

3)我如何从地图而不是减少输出?

1 个答案:

答案 0 :(得分:3)

  

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

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

这是代码

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

2)地图功能的签名是什么。

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

  

3)我如何从地图而不是减少输出?

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


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