• hadoop拾遗(三)---- 多种输入


      虽然一个MapReduce作业的输入可能包含多个输入文件(由文件glob、过滤器和路径组成),但所有文件都由同一个InputFormat和同一个Mapper来解释。然而,数据格式往往会随时间而演变,所以必须写自己的mapper来处理应用中的遗留数据格式。或,有些数据源会提供相同的数据,但是格式不同。对不同的数据集进行连接(jion,也称“联接”)操作时,便会产生这样的问题。例如,有些数据可能是作用制表符分隔的文本文件,另一些文件可能是二进制的顺序文件。即使它们格式相同,它们的表示也可能不同,因此需要分别进行解析。

      这些问题可以用 MultipleInputs 类来妥善处理,它允许为每条输入路径指定InputFormat 和 Mapper。

      例:

     

    MultipleInputs.addInputPath(job, path, inputFormatClass); //新版本   为每个输入指定对应格式
    		MultipleInputs.addInputPath(job, path, inputFormatClass, mapperClass);// 新版本 添加输入文件路径,格式,和其对应的处理map类。
    org.apache.hadoop.mapred.lib.MultipleInputs.addInputPath(conf, path, inputFormatClass); //老版本
    org.apache.hadoop.mapred.lib.MultipleInputs.addInputPath(conf, path, inputFormatClass, mapperClass);//老版本
    

      

      

  • 相关阅读:
    JAVA设计模式之观察者模式 IT
    基本的SqlPlus命令
    JAVA中SERIALVERSIONUID的解释
    msSQL
    java解析超大xml(1G),一般数据挖掘dblp.xml文件的解析
    在oracle中用sql脚本生成csv文件举例
    sql 复习知识大全2
    sql 复习知识大全1
    3.17作业解答
    3.20作业解答
  • 原文地址:https://www.cnblogs.com/nocml/p/3322189.html
Copyright © 2020-2023  润新知