作业输出到多个文件

时间:2015-04-14 06:19:49

标签: hadoop mapreduce hadoop-streaming

我有一张地图并减少了工作量。我想将一些数据输出到文件,并在作业中将一些数据输出到另一个文件。如何实现。请帮助我,因为我是Hadoop map的新手。有人能举例吗?

1 个答案:

答案 0 :(得分:0)

可以使用名为OutputFormat的{​​{1}}类代替默认 MultipleOutputFormat

documentation中所述:

此抽象类扩展了FileOutputFormat,允许将输出数据写入不同的输出文件。这个类有三个基本用例。案例一:此类用于至少具有一个reducer的map reduce作业。 reducer希望根据实际的密钥将数据写入不同的文件。假设密钥(或值)对实际密钥(值)和实际密钥(值)的期望位置进行编码。案例二:此类用于仅限地图的作业。该作业希望使用输出文件名,该输出文件名是输入数据的输入文件名的一部分,或者是它的一些派生。案例三:此类用于仅限地图的作业。作业想要使用取决于键和输入文件名的输出文件名。

由于这是一个抽象类,您需要使用其中一个实现,很可能是MultipleTextOutputFormat

使用与TextOutputFormat不同的OutputFormat的方式是在创建和配置作业时指定它:

TextOutputFormat

希望它有所帮助。