首页 > 编程知识 正文

切片(属于切片管理器的有)

时间:2023-05-05 12:11:46 阅读:68660 作者:4604

第一个切片机制——FileInputFormat 1.概述2 .切片默认机制3 .默认切片过程4 .一些细节详细介绍5.FileInputFormat最常见的三个子类

在job提交阶段,您将提交xml文件、jar包和片信息。 xml文件可以在程序中嘟囔,也可以创建配置文件。 jar包与我们的逻辑代码是依赖关系,我们的切片信息可以由FileInputFormat和CombineTextInputFormat切片机制确定(也可以自定义切片机制)。

1 .前言

FileInputFormat是所有基于文件的InputFormat的基类。 33558 www.Sina.com/fileinputformat的子类必须编写isSplitable方法,以便input-files不能拆分,并作为一个整体输入到映射器中。 FileInputFormat抽象类不仅实现父类InputFormat的抽象方法getSplits,还添加了IsSplitable。 主要作用是压缩文件不一定分割,因为输入的文本文件可能是压缩文件。 确定的是压缩编码是否实现了SplittableCompressionCodec接口,当前默认支持的可分割压缩编码是BZip2Codec。 也就是说,当使用诸如gzip的其他压缩文件进行处理时,map的数量等于压缩文件的数量。 getSplits通过确定IsSplitable是否为true来选择是拆分输入文件还是将文件视为split。

2 .切片的默认机制只是根据文件的内容长度进行切片大小。 默认值与块大小的切片相同,不考虑整个数据集,而是按文件单独切片

图解3 :

3 .说明默认的切片程序。 首先,找到数据存储的目录并开始遍历处理。 (计划切片。 )目录中的每个文件都遍历第一个文件file1.txt //源代码进程1 )以获取文件大小。 fs.sizeof ) ss.txt )2)计算切片大小。 ) computeslitesize matat eof math.min (maxsize, 块大小) )=块大小=128 m )3)开始剪切第一个片(ss.txt----03360128m2第二个片3360ss.txt-128336000其余部分是块的1.1 1.1倍以下时分割切片4 )将切片信息写入一个切片计划文件5 )整个切片的核心流程用getSplit )方法完成6 ) InputSplit是切片的元数据信息,例如开始位置、长度、所在位置将切片规划文件提交到YARN后,YARN的MrAppMaster可以根据切片规划文件计算MapTask打开的次数。 4 .一些细节见这个基类提供了getSplits的通用性实现。

math.max(minsize,math.min ) maxsize,blockSize ) )

MapReduce.input.fileinputformat.split.minsize=1默认值为1 MapReduce.input.fileinputformat.split.maxsize=long

1 )如果“maxsize (切片最大值)”参数小于blockSize,则切片会变小,等于设置的此参数的值

2 ) minsize (切片最小值)如果参数大于blockSize,则切片可以大于blockSize。

5.FileInputFormat最常见的三个子类输入格式功能表示键类型值类型TextInputFormat的每条记录都是一行输入。 密钥类型为LongWritable,用于存储整个文件的开头字节偏移。 值是此行的内容,不包括行的结尾(换行符和换行符)。 行的“字节偏移”(LongWritable )行的内容(Text ) KeyValueInputFormat是每行的记录,用分隔符分割为key、value。 驱动系统包括conf.set (keyvaluelinerecordreader.key _ value _ seperator,“t”); 中设置分隔符。 默认分隔符是tab(t )第一个定义key/value分隔符之前的所有字符(Text )第一个定义key/value分隔符之后的所有字符(Text ) nlineinputformatnlineinputionpution 表示每个map进程要处理的输入,即文件的总行数/N=片数,否则片数=商1。 行字节偏移行内容)文本) SequenceFileInputFormatHadoop定义的高性能二进制格式用户自定义的版权声明(此博客记录了他的自学体验)

https://me.csdn.net/qq_39657909

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。