为了发出2个矩阵作为键值对:
Key - Matrix A ``` `Value - Matrix B` . 我应该创建一个 `custom` 数据类型或可以直接与 `TwoDArrayWritable` ? 那么自定义类中的compareto()方法呢?
sf6xfgos1#
您肯定需要为您的密钥编写一个自定义类 TwoDArrayWritable 无法实现 WritableComparable (即使你只是延长 TwoDArrayWritable 类来添加接口和 compareTo 方法)。至于是否应该在自定义类上使用twodarraywritable,这取决于几个因素(在我看来):你的数组大小/尺寸是固定的吗?如果是这样,我会说使用一个自定义类,这样可以节省性能,而不是为每个对象反序列化调用重新创建数组数组是否包含基元类型(int、double、float等)-如果是这样,我会再次说使用自定义类,这样在执行矩阵操作时就不必担心从 Package 器可写(intwritable、doublewritable等) Package /展开基元值
TwoDArrayWritable
WritableComparable
compareTo
1条答案
按热度按时间sf6xfgos1#
您肯定需要为您的密钥编写一个自定义类
TwoDArrayWritable
无法实现WritableComparable
(即使你只是延长TwoDArrayWritable
类来添加接口和compareTo
方法)。至于是否应该在自定义类上使用twodarraywritable,这取决于几个因素(在我看来):
你的数组大小/尺寸是固定的吗?如果是这样,我会说使用一个自定义类,这样可以节省性能,而不是为每个对象反序列化调用重新创建数组
数组是否包含基元类型(int、double、float等)-如果是这样,我会再次说使用自定义类,这样在执行矩阵操作时就不必担心从 Package 器可写(intwritable、doublewritable等) Package /展开基元值