很抱歉,这是一个愚蠢的问题,但我无法通过Google搜索找到答案。
我如何理解LongWritable类型?它是什么?任何人都可以链接到架构或其他有用的页面。

最佳答案

Hadoop需要能够通过DataInputDataOutput对象(通常是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;
}

09-28 04:13