• 注册
  • BBS 大数据 关注:2 内容:74

    (十一):mapr编程 counterr等等配置文件的加载

  • 查看作者
  • 打赏作者
  • 拉黑名单
  • 当前位置: 字节脉搏 > 大数据 > 正文
    VIP
    字节脉搏运营

    1. counter使用#

    mapper里设置count
    (十一):mapr编程 counterr等等配置文件的加载
    reducer里设置count
    (十一):mapr编程 counterr等等配置文件的加载

    以下内容回帖刷新可见………………#

    在控制台查看count结果
    (十一):mapr编程 counterr等等配置文件的加载
    也可以在任务运行之后取得count计数器并输出
    (十一):mapr编程 counterr等等配置文件的加载
    counter默认120可以通过在mapred-site.xml里设置counter最大上限,counter的数量会影响appmaster的性能
    (十一):mapr编程 counterr等等配置文件的加载

    2. combiner的使用#

    设置一个combiner与reducer基本类似,只是去掉了reducer专用的计数器
    (十一):mapr编程 counterr等等配置文件的加载
    设置combiner专用的类
    (十一):mapr编程 counterr等等配置文件的加载
    debug查看reducer中combiner是否生效
    原始输入数据
    (十一):mapr编程 counterr等等配置文件的加载
    reducer中buluo这个key
    (十一):mapr编程 counterr等等配置文件的加载
    buluo这个key对应的值从两个1,变成了2,说明使用combiner在map端已经进行了一次汇总
    (十一):mapr编程 counterr等等配置文件的加载

    3. 启用压缩#

    通过api设置
    (十一):mapr编程 counterr等等配置文件的加载
    查看输出文件是否被压缩
    (十一):mapr编程 counterr等等配置文件的加载

    map输出开启snappy压缩,通过conf.set参数设置
    (十一):mapr编程 counterr等等配置文件的加载

    4. 命令行参数传递#

    使用命令行设置,包括个性化配置参数传递
    (十一):mapr编程 counterr等等配置文件的加载
    在map中取出传递的自定义配置参数,并根据自定义配置参数设置一个简单的功能
    (十一):mapr编程 counterr等等配置文件的加载

    5. 开发环境使用配置文件#

    还可以使用map-site.xml配置文件设置,放到resource里面
    (十一):mapr编程 counterr等等配置文件的加载
    会自动放到classs,编译目录里面
    (十一):mapr编程 counterr等等配置文件的加载

    6. MR JOB配置文件的加载机制#

    (1)ToolRunner的run方法中先new Configuration对象,这时这个对象只知道core-default.xml和core-site.xml文件,内部使用的是list(defaultResources)保存已知文件列表。
    (十一):mapr编程 counterr等等配置文件的加载
    通过查看内部的properties成员变量发现这时并没有加载配置信息(最终的配置信息都会被放个成员变量中)
    (十一):mapr编程 counterr等等配置文件的加载
    (2)解析-D参数并加载core-default.xml和core-site.xml里面已有的配置
    自定义的-D参数被放到overlay成员变量中
    (十一):mapr编程 counterr等等配置文件的加载
    这时的properties已经被加载了配置信息,里面的信息包括core-default.xml和core-site.xml里面的配置和自定义的-D参数。
    (十一):mapr编程 counterr等等配置文件的加载
    通过以上流程发现Configuration加载配置文件使用的是懒加载机制,也就是只有使用的时候才会被加载
    (3)Job.getInstance会生成新的job对象,这时新成生的Configuration对象就知道了 mapred-default.xml、 mapred-site.xml、 yarn-default.xml、yarn-site.xml文件,原理就是把这些文件名加载到名为defaultResources的list中
    (十一):mapr编程 counterr等等配置文件的加载
    (十一):mapr编程 counterr等等配置文件的加载

    (4)新生成的Configuration对象复制了原来Configuration对象的overlay属性,但并没有复制原来对象的properties属性。因为在使用的时候会重新加载。复制overlay属性是为了保留-D参数配置
    (十一):mapr编程 counterr等等配置文件的加载
    (5)当使用Configuration的get方法时就启动了加载机制。
    (十一):mapr编程 counterr等等配置文件的加载
    (6)读取XML文件并加载,加载文件的顺序是先core-default.xml、core-site.xml、mapred-default.xml、 mapred-site.xml、 yarn-default.xml、yarn-site.xml,后加载的参数会覆盖默认的参数。如果有-D参数与配置文件里的参数相同会使用自定义的-D参数取代配置文件的参数
    获取配置文件地址的方法是使用classLoader.getResource(name)获取配置文件的绝对地址
    (十一):mapr编程 counterr等等配置文件的加载
    (十一):mapr编程 counterr等等配置文件的加载
    (7)通过job api设置的参数也会出发conf.set但最终的配置信息会被放到updatingResource中,最终会被合并到properties中
    (十一):mapr编程 counterr等等配置文件的加载
    (8)最终生成job.xml文件,这个文件是任务运行中使用的所有配置,这个文件会在整个mapreducer运行之后被删除。
    (十一):mapr编程 counterr等等配置文件的加载
    job.xml 中描述了配置信息并注明了相关配置的来源
    (十一):mapr编程 counterr等等配置文件的加载
    总结:ToolRunner运行job加载配置文件的顺序
    (1)先加载默认并解析合并命令行(-D)参数
    (2)生成job使用新的配置对象但会保留命令行(-D)参数
    (3)解析各site文件并合并命令行(-D)参数
    (4)保留job api设置的参数
    (5)根据各配置参数生成最终的job.xml文件

    使用的类包括
    ToolRunner、Job、ConfigUtil、Configuration

    来自海牛部落-青牛,http://hainiubl.com/topics/90

    请登录之后再进行评论

    登录
  • 做任务
  • 帖子间隔 侧栏位置: