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

    mapreducer 編程(3)

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

    mapreducer 編程,semijoin,distributedcache 使用,排序,writableComparator 使用

    1. semijoin,distributedcache使用#

    semijoin的意思是在mapper端进行连接适合数据集小(一般为比较小的字典文件)与数据集大的连接。因为数据已经在maper端join了所以不需要运行reducer
    使用时在客户端用-Dmapreduce.job.cache.files或者-files通过命令行指定本地文件地址或者hdfs上的文件地址
    过程是客户端先把本地文件上传到HDFS(如果指定的是HDFS路径则省略这步),各运行任务节点再从HDFS把文件下载到本地,并创建指向文件的软连接,然后通过软链接访问这个文件,任务运行完成会删除这个软链接
    mapreducer 編程(3)

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

    windows使用时需要关闭UAC,eclipse启动使用管理员模式。否则提示找不到文件或者无法创建软链接
    mapper实现
    mapreducer 編程(3)
    job配置
    mapreducer 編程(3)
    输入数据
    mapreducer 編程(3)
    输入字典文件
    mapreducer 編程(3)
    输出结果
    mapreducer 編程(3)

    2. 排序,writableComparator#

    (1)正序,因为reducer输入的key已经是自然排序的,所以直接把输入的key直接输出就可以
    mapper实现
    mapreducer 編程(3)
    reducer实现
    mapreducer 編程(3)
    job配置
    mapreducer 編程(3)

    输入数据
    mapreducer 編程(3)
    运算结果
    mapreducer 編程(3)
    (2)倒序,需要实现自定义的writableComparator
    要有构造方法并指定好key的类型。对父类的compare取反就可以
    mapreducer 編程(3)
    mapper和reducer实现和正序一样
    job配置
    mapreducer 編程(3)
    输入数据和正序一样
    运算结果
    mapreducer 編程(3)

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

    请登录之后再进行评论

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