java - 为什么我们不能在 Map Reduce 中使用 Java 原始数据类型?

标签 java hadoop mapreduce

我正在学习 Hadoop MapReduce 框架。我正在努力寻找为什么我们不能在 Map Reduce 中使用 Java 原始数据类型。

最佳答案

Java 序列化要求类的散列以序列化格式在对象的每个实例之前加上前缀。因此,要读取对象,您不需要指定类名。这会导致读取对象的开销,因为每个对象都可以是不同类的实例。

在 Hadoop 序列化中,我们在检索时指定类名。因此,不需要前缀,因为我们已经知道要检索的内容。因此我们设置了 InputFormat。这提高了 RPC 过程中各方面的速度和性能。

关于java - 为什么我们不能在 Map Reduce 中使用 Java 原始数据类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33892074/

相关文章:

java - 在Java Servlet中使用disruptor并处理多个事件

java - 如何在 Java 中不使用静态或任何静态方法的情况下打印返回方法的结果

hadoop - 从 HDFS 中以 dd-MM-yyyy 格式删除文件夹一年

couchdb - CouchDB减少在被褥中的复选框

java - 使用 java 运行 PL/pgSQL 脚本

java - java线程的状态到底意味着什么?

hadoop - Mesos 和 Hadoop : How to get the running job input data size?

hadoop - 在hadoop中以多种输出格式使用part-m-00000

java - Hadoop MapReduce : Reduce Method not called

hadoop - PIG 脚本 : reducer preempted to make room for pending map attempts