2

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

TestKey, TestValue
TestKey1, TestValue1

我想将 Mapper Key 作为 TestKey 和 Mapper Value 作为 TestValue 传递等等。

所以我尝试编写自定义 RecordReader 来实现这一点。

但它的抛出错误,如不能用文本种姓 LongWritable。

如何将文本作为映射器输入键传递?

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

谢谢,尚卡尔

4

1 回答 1

1

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

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

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

于 2013-08-01T11:58:46.890 回答