Hadoop-组件-HDFS-源码学习-数据读写-写文件-追加写-写数据
一、概述
二、实现
DistributedFileSystem.append() 方法调用了 DFSClient.calAppend() 方法获取输出流对象。
callAppend() 方法首先通过 ClientProtocol.append() 方法获取文件最后一个数据块的位置信息,如果文件的最后一个数据块已经写满则返回 null。然后 callAppend() 方法会调用 DFSOutputStream.newStreamForAppend() 方法创建到文件最后一个数据块的输出流对象。获取文件租约,并将新构建的 DFSOutputStream 包装为 HdfsDataOutputStream 对象,然后返回。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Joker!
评论
ValineTwikoo