我想发出 key 以及 value 作为 custom datatype .我是否应该实施 2 classes 关键和价值?1 KeyWritable implements WritableComparable 以及另一个 ValueWritable implements Writable .是那样还是那样 WritableComparable 够了吗 emiting custom key and value .
key
value
custom datatype
2 classes
KeyWritable implements WritableComparable
ValueWritable implements Writable
WritableComparable
emiting custom key and value
e5njpo681#
如果您的键不是自定义对象并且只是文本或字符串值,则不需要单独编写keywritable。
qq24tv8q2#
在hadoop中,每个用作键的数据类型都必须实现 Writable 以及 Comparable 接口或更方便 WritableComparable 接口,并且每个用作值的数据类型都必须实现 Writable 接口。如果自定义键和值的类型相同,则可以编写一个实现 WritableComparable 接口。如果自定义键类型与自定义值类型不同,则必须编写两个独立的自定义数据类型,其中自定义键类实现 WritableComparable 接口和自定义值类实现 Writable 接口。注意,通常开发人员倾向于使用 WritableComparable 接口,因为它们可以互换地用作自定义键和自定义值。hth公司
Writable
Comparable
3vpjnl9f3#
如果您想对键和值使用相同的类,那么只需要编写一个实现可写可比接口的自定义类。实现可写可比接口的类可用于键和值。这意味着您的新自定义类也将是可写的和可比较的。writeablecomparable的超级接口是可写的和可比较的。请核实一下
3条答案
按热度按时间e5njpo681#
如果您的键不是自定义对象并且只是文本或字符串值,则不需要单独编写keywritable。
qq24tv8q2#
在hadoop中,每个用作键的数据类型都必须实现
Writable
以及Comparable
接口或更方便WritableComparable
接口,并且每个用作值的数据类型都必须实现Writable
接口。如果自定义键和值的类型相同,则可以编写一个实现
WritableComparable
接口。如果自定义键类型与自定义值类型不同,则必须编写两个独立的自定义数据类型,其中自定义键类实现WritableComparable
接口和自定义值类实现Writable
接口。注意,通常开发人员倾向于使用WritableComparable
接口,因为它们可以互换地用作自定义键和自定义值。hth公司3vpjnl9f3#
如果您想对键和值使用相同的类,那么只需要编写一个实现可写可比接口的自定义类。
实现可写可比接口的类可用于键和值。这意味着您的新自定义类也将是可写的和可比较的。
writeablecomparable的超级接口是可写的和可比较的。
请核实一下