zoukankan      html  css  js  c++  java
  • 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(); // 根据文件类型获取切片信息

  • 相关阅读:
    正则表达式
    数组去重
    [WOJ4354] 蜀石经
    [NOI2002] 银河英雄传说
    [洛谷P2186] 小Z的栈函数
    [洛谷P2756]飞行员配对方案问题
    [洛谷P2071] 座位安排
    [洛谷P2417]课程
    [洛谷P1640] [SCOI2010]连续攻击游戏
    [洛谷P3512 [POI2010]PIL-Pilots]
  • 原文地址:https://www.cnblogs.com/joey-413/p/13997802.html
Copyright © 2011-2022 走看看