gpt4 book ai didi

工作流中中间作业的 Hadoop SequenceFile 输入/输出

转载 作者:可可西里 更新时间:2023-11-01 15:18:45 26 4
gpt4 key购买 nike

我有一个多阶段/作业 mapreduce 程序。我的第一个输入必须是 TextInputFormat,最后一个输出必须是 TextOutputFormat。我想要实现的是在第一个作业中将格式从 Text 转换为 SequenceFile。因此:

TextInputFormat
Job1.execute()
SequenceFileOutputFormat

SequenceFileInputFormat
Job2.execute()
SequenceFileOutputFormat

...

SequenceFileInputFormat
JobLast.execute()
TextOutputFormat

在所有示例中,我发现这是通过创建一个额外的作业来实现的,该作业简单地将输入写入一个 SequenceFile,另一个作业读取 SequenceFile 并以不同的格式存储它。这可以在不使用额外作业的情况下完成吗?我可以做这样的事情吗:

conf.setInputFormat(TextInputFormat.class);
conf.setOutputFormat(SequenceFileOutputFormat.class);

当作业实际执行其计算时。我如何在不创建两个额外的作业(写入和读取)的情况下实现这一目标。

问题已解决,我的代码有误,对此深表歉意。

最佳答案

您当然可以以任何您想要的形式存储输出。你真的不需要一个单独的工作。 SequenceFileOutputFormat 可以存储任何类型的键值,因此只需声明 conf.setOutputFormat(SequenceFileOutputFormat.class); 就可以了。你试过了吗?没用吗?但是请确保您的下一个映射作业的输入键和值类与您用于上一个缩减器的输出键/值类兼容。

关于工作流中中间作业的 Hadoop SequenceFile 输入/输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10775191/

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