1

我想发出keyvalueas custom datatype

我是否应该实现2 classes键和值?

KeyWritable implements WritableComparable

另一个

ValueWritable implements Writable.

是这样还是一个

WritableComparable足够了emiting custom key and value

4

3 回答 3

0

如果您的键不是自定义对象并且它只是文本或字符串值,则无需单独编写 KeyWritable。

于 2013-10-31T07:13:55.300 回答
0

如果你想为你的键和值使用相同的类,那么你只需要编写一个实现 WritableComparable 接口的自定义类。

实现 WritableComparable 接口的类可用于 Key 和 Value。这意味着您的新自定义类也将是可写和可比较的。

WritableComparable 的超级接口是 Writable 和 Comparable。

请验证这一点

于 2013-10-31T07:57:32.093 回答
0

在 Hadoop 中,每个用作键的数据类型都必须实现WritableComparable接口或更方便WritableComparable 的接口,每个用作值的数据类型都必须实现Writable接口。

如果您的自定义键和值属于同一类型,那么您可以编写一种实现WritableComparable接口的自定义数据类型。如果您的自定义键类型与自定义值类型不同,您将不得不编写两个单独的自定义数据类型,其中自定义键类实现WritableComparable接口,自定义值类实现Writable接口。请注意,通常开发人员在编写自定义数据类型时倾向于使用WritableComparable接口,因为它们可以互换地用作自定义键和自定义值。高温高压

于 2014-11-23T22:37:49.460 回答