• Mapreduce学习之路二


    MR数据切片和MapTask并行度的决定机制:

      -问题:MapTask的并行度决定了Map阶段的任务处理并发度,进而影响到整个Job的处理速度

      ~MapTask的并行度机制:

        ·数据块:Block,HDFS上的物理切分后的块,Hadoop1.x版本默认大小64M,2.x默认大小为128M

          ·数据切片:逻辑上对数据进行分片,并不会在磁盘上将其分片进行存储

      ~MapTask的数量 由 客户端提交Job时,切片数量决定

      ~一个切片对应一个MapTask并行实例处理

      ~切片时不考虑数据集整体,逐个针对每个文件进行单独切片

        -切片机制

          -按照文件内容长度进行切片

            -切片大小默认为Block的大小

        -在源码中计算切片的大小的公式:    

            Math.max( minSize , Math.min ( maxSzie , blockSize ))

              minSize = 1

              maxSize = Long.MaxValue

              切片大小 = blockSize

         -切片大小的设置

          maxSize( 切片最大值 ) : 参数如果调的比blockSize小,则会让切片变小,就等于配置的参数值

            minSize( 切片最小值 ) : 参数调的比blockSize大

        -获取切片信息的API

          String name = inputSplit.getPath().getName(); // 获取切片文件的名称

             FileSplit inputSplit = (FileSplit) context.getInputSplit(); // 根据文件类型获取切片信息

  • 相关阅读:
    git命令的使用
    动态生成表格的每一行的操作按钮如何获取当前行的index
    js判断一些时间范围是否有重复时间段
    infiniband install driver
    python之pip install
    KVM :vnc 远程控制kvm创建虚拟机
    如何设置UNIX/Linux中新创建目录或文件的默认权限
    python获取报文参考代码
    JAVA命名规范
    oracle常用知识随笔
  • 原文地址:https://www.cnblogs.com/joey-413/p/13997802.html
Copyright © 2020-2023  润新知