hadoop知识点总结

来源:互联网 发布:淘宝优惠券链接在哪 编辑:程序博客网 时间:2024/05/16 07:55


HDFS
读流程
filesystem类是一个抽象类,其实现类是distributedfilesystem,打开文件时调用其open方法,DFSclient通过rpc协议获取namenode的代理对象,得到块的信息,返回FSdatainputstream对象,通过其read方法连接到datanode读取数据,数据读取完毕时关闭FSdatainputstream。
写流程
写入文件时调用create方法,DFSclient通过rpc协议获取namenode的代理对象,创建块的信息,返回FSdataoutputstream对象,通过其write方法将数据分成数据包并写入datanode的pipeline,数据从一个datanode传输到另一个,当数据写入完成后返回确认信息,然后进行下一个块的写入,所有数据写入完成后关闭FSdataoutputstream。


MR
shuffle原理、优化
优化环形内存缓冲区大小、阈值、排序文件时的个数(减少对磁盘的读写)、reduce端并行拷贝的数量。

map、reduce数目
map数目由inputsplit的数目决定,在getinputsplit中会以默认的块大小128m对文件进行逻辑分割,产生一个个的inputsplit,可以通过修改splitsize控制产生的数目,可以通过FileInputFormat.setMinInputSplitSize或者FileInputFormat.setMaxInputSplitSize来设置。

reduce数目由分区数确定,默认为一个分区,当需要多个分区时,可以设置setNumReduceTasks,并重写getPartition方法。

yarn
job提交过程


1 0
原创粉丝点击