java - 将可写对象添加到 Hadoop 配置

标签 java hadoop mapreduce

我看到Hadoop中的Configuration类是可写的http://hadoop.apache.org/docs/current/api/org/apache/hadoop/conf/Configuration.html .但是,我没有看到它公开的任何可用于添加可写对象的方法(我看到很多方法来设置和获取基本类型,如 int、long)。比方说,我有自己的可写对象,我想将它添加到我所有映射器的配置中并减少使用,我该怎么做?

谢谢,

文卡特

最佳答案

配置真的不是为了传递整个对象。该配置应该更多地用于设置 Mappers/Reducers 设置所需的简单参数。将 conf 想象成您在作业开始时设置变量。如果您在运行过程中对配置进行了更改,它很可能不会在最后出现,因为它并不是真正用于动态传递数据。

如果您想在节点之间传递整个对象,您正在寻找的是 Distributed Cache .从技术上讲,这些是文件,但您可以使用标准对象序列化来添加它们。 About the Distributed Cache .

*抱歉链接了不同的 hadoop 版本,他们的页面有点困惑,有时很难找到你需要的东西。

关于java - 将可写对象添加到 Hadoop 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16642071/

相关文章:

Java 和 Hadoop : Incompatible types with TextInputFormat

hadoop - pig :FLATTEN keyword

hadoop - 无法在使用 S3 进行存储的 EC2 中第二次运行 MapReduce

java - 通过反射获取 super 接口(interface)的泛型类型

hadoop - 使用 Hive 更新/编辑 Hdfs 中的记录

java - 想要循环但变量未初始化

http - Hadoop 中使用哪种协议(protocol)将数据从 Mappers 复制到 Reducers?

java - Mapreduce-FloatArrayWritable打印地址

java - 将 null 从 Javascript 传递到 Java 类时,DWR 报告转换器错误

Java未知异常