一、文件压缩对于hadoop集群来讲有很大的好处,1能够减小磁盘存储文件空间 2.能够加速数据网络和磁盘上的传输速度。api
在集群中须要权衡压缩和解压缩的时间,hadoop有不一样的解压缩方法须要权衡一下 见第四章压缩。网络
二、gzip格式压缩不支持分片,这样会失去Map数据的本地性,大大下降了执行效率。oop
三、Text类型通常认为是Writable的替代类型,但并非一个好的替代 一、他不支持超过32767的字节编码,2 它使用的是UTF-8版本修订的。编码
四、writeable类型底层实现了序列化和comparable接口 这样 在序列化完成以后,他会调用comparable进行比较按照大到小的顺序。线程
五、尽管大多数MR程序使用Writeable类型的键和值但这并非MR api强制的,事实上可使用任何类型,只要可以实现类型的的二进制流的转换就能够。为实现这一功能 hadoop有本身的机制serialization.,它定义了从类型到Serializer实例将对象转换为字节流的和Deserializer实例将字节流转换为对象的映射方式。对象
六、jobtracker和tasktracker之间是有心跳通讯的,一般最小是5秒,不过也要根据集群的规模而定,排序
七、map的过程并非简简单单将数据写入磁盘,他利用缓冲的方式写到内存中,并处于效率的考虑进行预先排序,默认状况下每一个map任务都有一个环形缓冲区,缓冲区的默认值大小是100m能够有io.sort.mb调整该值的属性,一旦缓冲区的的内容达到阀值的80%,一个后台线程调用spill方法将内容写入到磁盘中,map会产生阻塞直到写磁盘过程完成。这样有什么好处呢,这样的话就能够避免当文件很小时直接在内存中取了,效率更高。接口
八、在R阶段R任务须要在集群上若干个map任务的输出做为特殊的分区文件,因为每一个任务完成的可能不一样,所以只要有一个任务完成,R任务就会开始复制,这是复制阶段,R任务有少许的复制线程,默认值是5个,所以可以并行取得map输出。ip