使用Hadoop映射处理大型lzo文件可减少维护输入顺序

时间:2019-05-16 03:43:13

标签: java hadoop mapreduce lzo

我有一个很大的Hadoop-LZO文件(大约26 GB),需要逐行进行预处理,并根据逻辑输出经过预处理的行。

如果仅在映射器作业上将LzoTextInputFormat.class与索引文件一起使用,则会生成15个拆分。这将生成15个lzo文件。

我最好以相同的顺序输出单个输出lzo文件。我希望尽快处理它。

我尝试使用不带索引文件的LzoTextInputFormat.class和TextInputFormat.class导致1分割。但是,此过程需要花费25分钟以上的时间。

job.setInputFormatClass(LzoTextInputFormat.class);

如果我使用不带索引文件的LzoTextInputFormat.class,则处理速度更快。但是,会生成多个lzo输出文件,我不确定是否可以合并为单个文件。

有关如何使用Java Hadoop MR处理大型lzo文件,将预处理逻辑应用于每行并将这些行以有效方式输出到单个lzo文件的任何代码参考/示例。

0 个答案:

没有答案