我的文件内容将是这样的。
TestKey, TestValue
TestKey1, TestValue1
我想将Mapper Key作为TestKey和Mapper Value传递给TestValue,依此类推。
所以我尝试编写Custom RecordReader来实现这一目标。
但是它的投掷错误就像不能用文本一样强加LongWritable。
如何将Text作为我的映射器输入键传递?
对此表示高度赞赏的任何帮助。
谢谢, 香卡
答案 0 :(得分:1)
您似乎需要将输入格式更改为KeyValueTextInputFormat
,并将分隔符设置为mapreduce.input.keyvaluelinerecordreader.key.value.separator
为", "
。 1
默认输入格式为TextInputFormat
,它使用文件中的字节偏移量,格式为LongWritable
作为键,行作为值。这就是你目前看到错误的原因。
1 :这假设您使用的是新API;旧的API有类似的东西。