我有一张地图并减少了工作量。我想将一些数据输出到文件,并在作业中将一些数据输出到另一个文件。如何实现。请帮助我,因为我是Hadoop map的新手。有人能举例吗?
答案 0 :(得分:0)
可以使用名为OutputFormat
的{{1}}类代替默认 MultipleOutputFormat
。
如documentation中所述:
此抽象类扩展了FileOutputFormat,允许将输出数据写入不同的输出文件。这个类有三个基本用例。案例一:此类用于至少具有一个reducer的map reduce作业。 reducer希望根据实际的密钥将数据写入不同的文件。假设密钥(或值)对实际密钥(值)和实际密钥(值)的期望位置进行编码。案例二:此类用于仅限地图的作业。该作业希望使用输出文件名,该输出文件名是输入数据的输入文件名的一部分,或者是它的一些派生。案例三:此类用于仅限地图的作业。作业想要使用取决于键和输入文件名的输出文件名。
由于这是一个抽象类,您需要使用其中一个实现,很可能是MultipleTextOutputFormat
。
使用与TextOutputFormat
不同的OutputFormat
的方式是在创建和配置作业时指定它:
TextOutputFormat
希望它有所帮助。