我试图了解如何为mapreduce框架实现自定义值类型。根据这篇文章(MapReduce - WritableComparables),在我看来,值类型必须实现Writable接口。这是对的吗?
我也在关注HBase提供的各种工具(例如Import,Export,CopyTable等)的源代码。导入使用结果作为值类型。但是Result没有实现Writable接口。在这种情况下,序列化步骤如何工作?
答案 0 :(得分:1)
MapReduce中有str()
和Writable
。
WritableComparable
表示MR知道在必须通过电汇发送对象时如何对其进行分类。Writable
更进了一步,意味着实现它的类的对象可以是sort。在MR的实现中,密钥将在随机过程中进行比较和/或排序,这意味着它应该是WritableComparable
。值只需要通过网络发送,因此WritableComparable
就足够了。