我有一个很大的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文件的任何代码参考/示例。