1

为了发出 2 个矩阵作为键值对:

Key  - Matrix A

Value - Matrix B.

我应该创建一个custom数据类型还是可以直接使用TwoDArrayWritable?那么自定义类中的 compareTo() 方法呢?

4

1 回答 1

1

您肯定需要为TwoDArrayWritable未实现的 Key 编写自定义类WritableComparable(即使您只是扩展TwoDArrayWritable类以添加接口和compareTo方法)。

至于是否应该在自定义类上使用 TwoDArrayWritable - 取决于几个因素(在我看来):

  • 您的数组的大小/尺寸是否固定?如果是这样,我会说使用自定义类,这样您就可以节省性能,而不是为每个对象反序列化调用重新创建数组
  • 您的数组是否包含原始类型(int、double、float 等) - 如果是这样,我会再次说使用自定义类,这样您就不必担心从包装器可写对象(IntWritable、DoubleWritable 等)包装/解包原始值在下游执行矩阵运算时
于 2013-11-03T23:03:53.567 回答