该类应该扩展ObjectWritable类吗?那么如何将它从客户端传递到Map和Reduce呢?感谢
答案 0 :(得分:3)
我认为您的意思是将客户端代码中的对象传递给Mappers和Reducers?
你必须使用某种形式的序列化来做到这一点,因为数据是通过网络进行的。根据您的情况,有几种可能性:
可能最好的解决方案是在Mappers / Reducers中实例化对象。要传递构造函数调用所需的信息,可以使用作业配置。
conf.setInt("foo", 32);
conf.set("bar", "bazz");
如果您的对象是可序列化的并且非常小,您可以对其进行序列化并在JobConf中包含它的base64编码版本。