HDFS文件读取和写入
来源:互联网 发布:ubuntu 16.04 samba 编辑:程序博客网 时间:2024/05/17 01:58
读取文件:
一:读取方式一
写入哪个DataNode是不确定的,主要寻找读取速度较快的DataNode;
怎么找到这种DataNode,从以下几个方面:是否有本机位置,本机架位置,本机房位置;
依次重试读取文件,直到读取文件成功;
二:读取方式二:backUpRead
每次读取时,client会并行试着读取两个或三个DataNode,接受读取成功信息后,会通知其他魏都区的DataNode结束读取。
写入数据:
一:链式写入:
连式出现错误:假如DataNode2出现网络问题。
解决方法:(1)直接跳过DataNode2的写入,也就是写入两台机器,比默认数量少一,带来了数据安全的问题;
(2)seal and New方式:DataNode1向2写入时,发现故障,会通过client向NameNode回执错误信息;然后从新分配写入的DataNode,假设选中了DataNode4,然后向1,3,4练市写入数据。
二:主从模式:
客户端或者系统出现故障时,可能会引起数据的丢失。这就需要一直模式保障数据的完整性。
方法一例如:
Path p = new Path("p");
OutputStream out = fs.create(p);
out.write("content".getBytes("UTF-8"));
out.flush();
out.sync();
out.flush():当写入的数据超过一个块后,对新的数据块就可以进行读操作。但正在写入的数据块对外不可见,也就是不能进行读操作。
out.sync():对于已经写入的数据可读。无论数据块有没有被写满。
但这两个方法会对数据的吞吐量有所影响,所以用时要在鲁棒性和吞吐量做出权衡。
具体的读写步骤详细说明可以参考hadoop权威指南。
- HDFS文件读取和写入
- HDFS文件写入与读取
- HDFS文件写入与读取
- [HDFS] 浅析HDFS文件读取、写入
- HDFS写入和读取流程
- HDFS写入和读取流程
- HDFS写入和读取流程
- HDFS写入和读取过程
- Hadoop向HDFS写入、删除、读取文件
- HDFS文件读取与写入剖析
- 笔记:HDFS读取和写入数据流
- 文件读取和写入
- 文件读取和写入
- 文件读取和写入
- 读取HDFS写入HBase
- 读取文件和写入文件
- 文件的读取和写入
- 读取和写入plist文件
- Linux下安装docker-compose记录
- SpringBoot系列之二 关于JSON使用的那点事儿
- HTML 基础知识总结
- Android单元测试研究与实践
- 初识继承以及抽象类
- HDFS文件读取和写入
- Finereport常见单元格图标(角标)含义
- Base封装(二)-- 封装属于自己的Library(UI篇)
- JAVA发送HttpClient请求及接收请求结果处理为JSONOBJCET过程
- Android中打开浏览器更新App的最新版本
- AngularJS—学习 ui-router
- Canvas画板
- AngularJS ui-router (嵌套路由)
- Maven Archetype