zoukankan      html  css  js  c++  java
  • 五 数据组织模式 3) 分箱 & 代码

    分箱目的:
            将数据集中的每条记录都归档到一个 或 多个文件中

    分箱与分区:
            分享模式与分区模式很类似。 主要区别在于 分箱使用 Map 构建 而 分区需要用到 MapReduce 进行分区。
            分箱好处是减少 reduce 阶段的工作量
    结构:
            Map阶段重写 setup方法。使用了 MultipleOutput 类, 通过该类将作业输出到多个不同的文件中。
            对每条记录遍历每个分箱的条件。如果符合就会发送到该箱。
            该模式未用到 combiner、partitioner、 reduce。
    性能分析:
            和其他只有 map 任务的作业一样,该模式具有相同的可扩展性和性能特性,该模式不需要执行排序、混排及reduce,并且大部分都是在本地数据上执行。


    关键代码:
    1. jar包:
    2. import org.apache.hadoop.mapreduce.lib.output.MultipleOutputs;
    3. 重写 map 类的 setup方法。 MultipleOutputs 对象赋值。
    4. @Override
    5. public void setup(Context context) throws IOException, InterruptedException {
    6. 最后就是 mos 对象的各种输出分箱。 至此 结束





    God has given me a gift. Only one. I am the most complete fighter in the world. My whole life, I have trained. I must prove I am worthy of someting. rocky_24
  • 相关阅读:
    Math Jax开源数学编辑器的使用
    阿里云pai项目使用说明
    tomcat管理授权:tomcat-users.xml
    NoSQLBooster for MongoDB的基本使用
    IDEA的配置文件访问
    task
    Netty基础点滴
    二星权限树的设计与实现
    easyui实现树形菜单Tab功能、layout布局
    如何用Dome4j(2.2.1)创建Xml
  • 原文地址:https://www.cnblogs.com/rocky24/p/e3f2cae9ec74e593956f0e1a00c52807.html
Copyright © 2011-2022 走看看