##08.18
mapreduce 类型与格式
map函数
reduce函数
combiner函数
partition函数
,默认的steaming作业,text 类型,不会把键传递给mapper,其他的类型,设置stream.map.input.key = true也可以达到相同的效果
输入格式
1、一个输入分片就是由一个单个map处理的数据块。每一个map只处理一个输入分片,java中表示出来就是一个inputsplit类 getlength getlocations两个方法,分片不包含数据本身,而是指向数据的引用(reference),分片大小用来排序分片,优先处理大分片从而最小化作业运行时间
2、开发人员不必直接处理inputsplit,而是又inputformat创建,inputformat 负责创建输入分片,并将它们分隔成为记录
3、客户端通过调用getsplits计算分片,并将它们发送给master,master使用location,来调度map任务,从而处理这些分片数据,map任务把输入分片传递给inputformat的createrecordreader来获取这个分片的recordreader,map任务用一个recordreader来拿来生成记录的键值对,然后再传递给map函数
4.fileinputformat类两个作用,一个指出输入文件位置,一个是为输入文件生成分片的代码实现,计算分片大小是有computesplitsize计算的,默认128m
5、最小分片数,1个字节,最大分片数java Long类型表示的最大值
6、fileformat会为每个小文件产生一个分片,所以更适合处理大文件,如果是大批量小文件用combinefileformat,会把多个小文件打包放到一个大文件中,理论上避免太多小文件
7、避免切分分片两种方法,最小分片大小设置为大于最大文件大小,另外一个fileinputformat具体子类实现 issplitable返回false
输出
多个输出
延迟输出
数据库输出
上回话到商朝覆灭,此回话周王朝
姬发建周,定都镐京,今陕西西安西,改“帝”称“王”,
社会结构分为四个层次
国王 贵族 庶人 奴隶
实行分封制,建立封建王朝,从此部落消失,改为封国
实行宗法制度,解决骨肉相残,宗法制知道二十世纪末,清朝覆灭才结束使用
网友评论