很抱歉,这是一个愚蠢的问题,但我无法通过Google搜索找到答案。
我如何理解LongWritable
类型?它是什么?任何人都可以链接到架构或其他有用的页面。
最佳答案
Hadoop需要能够通过DataInput
和DataOutput
对象(通常是IO Streams)在Java类型中对数据进行序列化。 Writable类通过实现两个方法`write(DataOuput)和readFields(DataInput)来实现此目的。
具体来说,LongWritable
是一个包裹Java语言的Writable
类。
大多数时候(尤其是刚开始),您可以在头脑中替换LongWritable
-> Long
,即,这只是一个数字。如果您要定义自己的数据类型,那么您将开始熟悉实现可写接口(interface):
看起来像这样:
public interface Writable {
public void write(DataOutput out) throws IOException;
public void readFields(DataInput in) throws IOException;
}