hadoop 切片

作者: spraysss | 来源:发表于2019-11-03 19:04 被阅读0次

Hadoop的切片计算是通过调用InputFormat接口的getSplits方法完成的

InputFormat

TextInputFormat切片规则

TextFileInputFormat继承至FileInputFormat,它没有重写FileInputFormatgetSpilt方法,所以,计算切片大小是使用父类FileInputFormatgetSpilt方法。FileInputFormat是一个文件一个文件处理的,每个文件至少切一片,FileInputFormat计算切片大小的相关代码如下:

  long splitSize = computeSplitSize(goalSize, minSize, blockSize);
  protected long computeSplitSize(long blockSize, long minSize,
                                  long maxSize) {
    return Math.max(minSize, Math.min(maxSize, blockSize));
  }

可以看出切片大小splitSize是取minSize,blockSize,maxSize三者的中间值,默认情况下

minSize=1,blockSize=128M,maxSize=Long.MAX_VALUE

所以,默认情况,splitSize=blockSize=128M,其中:

  • minsize 通过mapreduce.input.fileinputformat.split.minsize参数控制
  • maxsize 通过mapreduce.input.fileinputformat.split.maxsize参数控制

CombineFileInputFormat切片规则

CombineFileInputFormat 切片会合并小文件,可以避免不必要的maptask

相关文章

  • hadoop 切片

    Hadoop的切片计算是通过调用InputFormat接口的getSplits方法完成的 TextInputFor...

  • Hive读取索引文件问题

    LZO压缩 数据保存在HDFS上面可以选取LZO压缩形式。LZO压缩的特点是可以切片 但是hadoop本身并不支持...

  • 15.Go_Slice(切片)

    Go 切片 定义切片 切片初始化 len()和cap()函数 空(nil)切片 切片拦截 append() 和co...

  • Python的高级特性

    切片 list切片 tuple切片 str切片 迭代 在Python中迭代是通过for ... in ...来实现...

  • 切片

    切片前的准备 1切片前,备份图片;切片后,也要保存文件,为日后修改做准备。 2切片前设置切片文件夹(?不懂) 切片...

  • 你能一口说出go中字符串转字节切片的容量嘛?

    神奇的现象 切片, 切片, 又是切片! 前一篇文章讲的是切片, 今天遇到的神奇问题还是和切片有关, 具体怎么个神奇...

  • 【golang】slice底层函数传参原理易错点

    切片底层结构 切片的底层结构主要包括引用数组的地址data,切片长度len与切片容量cap。 以切片为参数调用函数...

  • day02-07clice

    切片slise 切片的定义 初始化 长度len和容量cap 由数组得到切片 切片的容量cap是指底层数组从切片的第...

  • Mapreduce切片机制

    FileInputFormat切片机制 切片机制:简单的按照文件的内容长度进行切片切片大小,默认等于Block大小...

  • 数据类型

    切片slice 切片取值 s = s[low : high : max] 切片的三个参数的切片截取的意义为 low...

网友评论

    本文标题:hadoop 切片

    本文链接:https://www.haomeiwen.com/subject/fjqlbctx.html