如何在hadoop作业中将'Text'作为Mapper输入键传递?

时间:2013-08-01 11:51:10

标签: java hadoop mapreduce

我的文件内容将是这样的。

TestKey, TestValue
TestKey1, TestValue1

我想将Mapper Key作为TestKey和Mapper Value传递给TestValue,依此类推。

所以我尝试编写Custom RecordReader来实现这一目标。

但是它的投掷错误就像不能用文本一样强加LongWritable。

如何将Text作为我的映射器输入键传递?

对此表示高度赞赏的任何帮助。

谢谢, 香卡

1 个答案:

答案 0 :(得分:1)

您似乎需要将输入格式更改为KeyValueTextInputFormat,并将分隔符设置为mapreduce.input.keyvaluelinerecordreader.key.value.separator", " 1

默认输入格式为TextInputFormat,它使用文件中的字节偏移量,格式为LongWritable作为键,行作为值。这就是你目前看到错误的原因。

1 :这假设您使用的是新API;旧的API有类似的东西。