我想了解如何为 mapreduce 框架实现自定义值类型。基于这篇文章 ( MapReduce - WritableComparables ) 在我看来,值类型必须实现 Writable 接口(interface)。对吗?
我还关注了 HBase 提供的各种工具(例如 Import、Export、CopyTable 等)的源代码。导入使用结果作为值类型。但是 Result 没有实现 Writable 接口(interface)。序列化步骤在这种情况下如何工作?
最佳答案
MapReduce中有Writable
和WritableComparable
Writable
表示 MR 知道如何在必须通过线路发送对象时将其序列化。WritableComparable
更进一步,意味着实现它的类的对象可以排序。
在 MR 的实现中,键将在洗牌过程中进行比较和/或排序,这意味着它应该是 WritableComparable
。值只需要通过线路发送,所以 Writable
就足够了。
关于java - hadoop 类型中的值类型是否必须实现可写接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30064923/