使用哪种类型:自定义数据类型还是twodarraywritable

mnemlml8  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(432)

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

Key  - Matrix A
``` `Value - Matrix B` .
我应该创建一个 `custom` 数据类型或可以直接与 `TwoDArrayWritable` ? 那么自定义类中的compareto()方法呢?
sf6xfgos

sf6xfgos1#

您肯定需要为您的密钥编写一个自定义类 TwoDArrayWritable 无法实现 WritableComparable (即使你只是延长 TwoDArrayWritable 类来添加接口和 compareTo 方法)。
至于是否应该在自定义类上使用twodarraywritable,这取决于几个因素(在我看来):
你的数组大小/尺寸是固定的吗?如果是这样,我会说使用一个自定义类,这样可以节省性能,而不是为每个对象反序列化调用重新创建数组
数组是否包含基元类型(int、double、float等)-如果是这样,我会再次说使用自定义类,这样在执行矩阵操作时就不必担心从 Package 器可写(intwritable、doublewritable等) Package /展开基元值

相关问题