gpt4 book ai didi

java - 关于 Hadoop 中的序列化 : what are the advantages of serialization?

转载 作者:可可西里 更新时间:2023-11-01 14:54:39 26 4
gpt4 key购买 nike

我对 Hadoop 数据流中的序列化有点困惑。假设我有一个定义如下的 Java 对象(该对象可能比我展示的要复杂得多):

public void MyObject {

private int Field1;
private String Field2;

public void method1() {

}

...

}

要在映射器和缩减器之间传输此对象的实例,有两种方法:

第一种方法 - 我可以在映射器中一个一个地序列化 int 字段和 String 字段并将它们写入输出,然后在 reducer 中,我读取它们并使用它们创建 MyObject 的新实例值。假设新创建的实例与原始实例相比没有区别。

第二种方法 - 我可以重写 MyObject 以实现 Writable 接口(interface),并在映射器中序列化整个实例。然后在 reducer 中,我只需要反序列化对象,我就可以使用它。

这两种方法有什么区别?在传输之前序列化一个对象有什么好处。

最佳答案

Hadoop Writable 与 Java 序列化对象相比更紧凑并且需要更少的空间。 Hadoop 映射器和缩减器处理扩展 Hadoop 的 Writable 接口(interface)的对象。有关详细信息,请参阅 https://stackoverflow.com/a/16839597/1150329

关于java - 关于 Hadoop 中的序列化 : what are the advantages of serialization?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16836181/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com