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

时间:2010-08-11 21:17:24

标签: map hadoop mapreduce

我正在使用hadoop并使用创建我想要保留的文件的map任务,目前我正在通过收集器将这些文件传递给reduce任务。 reduce任务然后将这些文件传递给它的收集器,这允许我保留文件。

我的问题是如何可靠有效地保存地图创建的文件?

我知道我可以关闭地图输出的自动删除功能,但不满意的是它们有更好的方法吗?

由于

1 个答案:

答案 0 :(得分:0)

你可以把它分成两份工作。

首先创建一个仅输出地图的作业,输出所需的序列文件。

然后,拿走你现有的工作(不再在地图上做任何事情,但你可以根据你的实施和用例做一些处理)并减少,因为你现在输入前一个地图的工作作为你的输入第二份工作。

你可以将这一切包装在一个运行2个jar的jar中,因此将输出路径作为参数传递给第二个作业输入路径。