通过流的方式操作hadoop的API
功能:
可以直接用来操作hadoop的文件系统
可以用在mapreduce的outputformat中设置RecordWrite
参考:
概念理解 http://blog.csdn.net/qq_30366667/article/details/73293452
实例 http://blog.csdn.net/wt346326775/article/details/53446185
文件的读取
使用hdfs提供的客户端开发库来调用DistributedFileSystem对象的open()方法来打开希望读取的文件,并连接输入流FSDataInputStream,客户端开发库向namenode请求元数据,得到要读取的文件的快列表和每个block的映射地址,然后客户端开发库对这个输入流调用read()方法来读取数据,开发库选取离客户端最近的datanode来读取block,每读取一个块都会检查完整性,读取完毕关闭流;
文件的写入
客户端开发库通过对DistributedFileSystem对象的调用create()函数来创建文件,并确定路径,连接输出流;