3

How do we pass objects of some custom class as a parameter to mapper in mapReduce programs?? JobConf has 'set' methods for boolean, string, int and long. What if I want to pass a Document object as a parameter to my mapper? Can any one help me out?

4

2 回答 2

2

我给了一个希望将整个地图传递给映射器的人的提示。

Hadoop:如何在配置中保存 Map 对象

这个想法是一样的,你必须把你的对象序列化成一个字符串,然后放到配置中。JSON 效果很好,因为配置被序列化为 XML,因此反序列化时没有问题。

于 2012-08-02T12:30:08.080 回答
1

如果您的对象实现了 Writable,您可以将其序列化为字节数组,base64 对字节数组进行编码,然后将生成的字符串保存到配置中。解码则相反。

当然,如果您的对象占用空间非常大,我不建议这样做 - 在这种情况下,您最好将其序列化为 HDFS 中的文件并使用分布式缓存。

于 2012-08-02T13:47:24.193 回答