java - 如何从map/reduce函数输出不同类型的键,值对?

标签 java hadoop mapreduce

我有一个myOutput类,其中包含如下数据成员:

class myOutput{
int id;
double value;
double variance;
}

我想将两个值输出到两个不同的文件

文件1:myOutput的对象
文件2:TextWritable值

我阅读了MultipleOutputFormat,但我认为它不允许写入不同类型的值。如何通过 map 功能实现此目标?我的工作配置设置应该是什么?

最佳答案

您可以一起使用FileOutputStreamObjectOutputStream来序列化myOutput实例。这将存储所有字段,以便可以在某个时刻重新加载/反序列化实例。

如果这是您决定采用的路线,则需要实现Serializable

我不确定TextWritable是什么。如果您只是想将String写入文件,请使用Printwriter。如果这是您创建的另一个类实例,则可以使用上述相同的技术。

关于java - 如何从map/reduce函数输出不同类型的键,值对?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26357204/

相关文章:

javascript - 两个看似相同的 MapReduce 函数的令人费解的行为

java - 如何将数据从外部 Java 应用程序馈送到 Drools BRMS 并取回数据?

hadoop - 数据局部性在 Hadoop 中到底意味着什么?

java - Hadoop Mapreduce 让 addInputPath 使用特定文件名

hadoop - hadoop 之上的列存储?

hadoop - 如何在写入文件时禁用 Hive 中的日志

java - 在MapReduce框架中,为什么combiner不能保证执行?

JavaFX Scene Builder 在不同的包/ Controller 上处理 OnAction

java - 如何检查 Java 中的 firebase 任务是否完成?

java - 如何在二进制文件中写入一字节值-java