zoukankan      html  css  js  c++  java
  • 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);//老版本
    

      

      

  • 相关阅读:
    《挑战程序设计竞赛》 读后感
    基于SOAP的xml网络交互心得
    不用客户端,轻松下视频
    在cmd窗口中查询android的sqlite3数据库表之步骤
    单链表的插入删除以及逆转
    java中排序一个字符串数组
    求质因数
    指针与引用的区别
    统计查询-sql
    ---随心买统计查询
  • 原文地址:https://www.cnblogs.com/nocml/p/3322189.html
Copyright © 2011-2022 走看看