java—hadoop类型中的值类型必须实现可写接口吗?

juud5qan  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(341)

我试图理解如何实现mapreduce框架的自定义值类型。基于这篇文章(mapreduce-writablecomparables),在我看来,值类型必须实现可写接口。对吗?
我还跟踪了hbase提供的各种工具(如导入、导出、copytable等)的源代码。导入使用结果作为值类型。但结果并没有实现可写接口。序列化步骤在这种情况下是如何工作的?

7kqas0il

7kqas0il1#

Writable 以及 WritableComparable 在mapreduce中。 Writable 意味着当你的物体必须通过电线传送时,你知道如何对它进行串行化。 WritableComparable 更进一步,意味着实现它的类的对象可以被排序。
在mr的实现中,密钥将在shuffle过程中进行比较和/或排序,这意味着应该 WritableComparable . 值只需要通过导线发送,所以 Writable 够了。

相关问题