0

我试图了解如何为 mapreduce 框架实现自定义值类型。根据这篇文章(MapReduce - WritableComparables),在我看来,值类型必须实现 Writable 接口。那是对的吗?

我还关注 HBase 提供的各种工具(例如 Import、Export、CopyTable 等)的源代码。Import 使用 Result 作为值类型。但是 Result 没有实现 Writable 接口。在这种情况下,序列化步骤如何工作?

4

1 回答 1

1

在 MapReduce 中有Writable和。WritableComparable

  • Writable意味着 MR 知道如何在必须通过电线发送对象时对其进行序列化。
  • WritableComparable更进一步,意味着实现它的类的对象可以排序。

在 MR 的实现中,键将在 shuffle 过程中进行比较和/或排序,这意味着它应该是WritableComparable. 值只需要通过线路发送,Writable就足够了。

于 2015-05-06T07:14:00.530 回答