如何在hadoop中保存map创建的序列文件?

问题描述 投票:0回答:1

我正在使用Hadoop,并与一个地图任务一起工作,该任务创建了我想要保留的文件,目前我将这些文件通过收集器传递给reduce任务。然后,reduce任务将这些文件传递给它的收集器,这样我就可以保留这些文件。

我的问题是,我如何可靠而有效地保留map创建的文件?

我知道我可以关闭自动删除map的输出,但这是不允许的,他们有什么更好的方法吗?

dictionary hadoop mapreduce
1个回答
0
投票

你可以把它分成两个作业。

首先创建一个只输出你想要的序列文件的map作业。

然后,把你现有的工作(在地图上什么都不做了,但你可以根据你的实现& 使用案例做一些紧缩)和减少,就像你现在做的那样,通过输入前一个map only工作作为你的输入到第二个工作。

你可以把这一切都包在一个jar里,运行2个jar,把输出路径作为参数传递给第二个作业的输入路径。

© www.soinside.com 2019 - 2024. All rights reserved.