HDFS 读数据流程【重要】

简介: HDFS 读数据流程【重要】

Configuration conf = new Configuration();  
    FileSystem fs = FileSystem.get(conf);  
    Path file = new Path("demo.txt");  
    FSDataInputStream inStream = fs.open(file);  
    String data = inStream.readUTF();  
    System.out.println(data);  
    inStream.close();

1. 首先,客户端通过 DistributedFileSystem 向 NameNode 请求下载文件

2.NameNode 收到请求之后会检查用户权限以及是否存在这个文件,如果符合则会返回目标文件的元数据给客户端。

3. 接着,客户端调用 FSDataInputStream 的 read()方法开始请求读取数据。客户端会挑选一台最近的 DataNode 来读取数据,如果客户端本身就是 DataNode,那么将从本地直接获取数据。

4.DataNode 开始传输数据给客户端,每传输完一个 block 都会进行 checksum 验证( Packet 为单位来做校验当此数据块读取完毕时,FSDataInputStream 会关闭和此数据结点的连接,然后连接此文件下一个数据块的最近的数据节点。

5. 客户端以 Packet 为单位接收,先在本地缓存,然后写入目标文件。

6. 当客户端读取完毕数据的时候,会调用 FSDataInputStream 的 close()方法关闭流对象。

6. 在读取数据的过程中,如果客户端在与数据节点通信时出现错误,客户端会通知 Namenode,并尝试连接包含此数据块的下一个数据节点,失败的数据节点会被记录,此后不再连接。。

读数据流程视频讲解:58_尚硅谷_Hadoop_HDFS_读数据流程_哔哩哔哩_bilibili

相关文章
|
存储 安全
HDFS读写流程详解
HDFS读写流程详解
1545 2
HDFS读写流程详解
|
分布式计算 Hadoop 网络安全
Hadoop-08-HDFS集群 基础知识 命令行上机实操 hadoop fs 分布式文件系统 读写原理 读流程与写流程 基本语法上传下载拷贝移动文件
Hadoop-08-HDFS集群 基础知识 命令行上机实操 hadoop fs 分布式文件系统 读写原理 读流程与写流程 基本语法上传下载拷贝移动文件
237 1
|
存储 机器学习/深度学习 缓存
Hadoop-07-HDFS集群 基础知识 分布式文件系统 读写原理 读流程与写流程 基本语法上传下载拷贝移动文件
Hadoop-07-HDFS集群 基础知识 分布式文件系统 读写原理 读流程与写流程 基本语法上传下载拷贝移动文件
368 1
|
存储 分布式计算 Hadoop
【揭秘Hadoop背后的秘密!】HDFS读写流程大曝光:从理论到实践,带你深入了解Hadoop分布式文件系统!
【8月更文挑战第24天】Hadoop分布式文件系统(HDFS)是Hadoop生态系统的关键组件,专为大规模数据集提供高效率存储及访问。本文深入解析HDFS数据读写流程并附带示例代码。HDFS采用NameNode和DataNode架构,前者负责元数据管理,后者承担数据块存储任务。文章通过Java示例演示了如何利用Hadoop API实现数据的写入与读取,有助于理解HDFS的工作原理及其在大数据处理中的应用价值。
440 1
|
存储 分布式计算 Hadoop
【Hadoop】HDFS 读写流程
【4月更文挑战第9天】【Hadoop】HDFS 读写流程
|
存储 分布式计算 Java
HDFS的数据读取流程是怎样的?请描述数据读取的过程。
HDFS的数据读取流程是怎样的?请描述数据读取的过程。
445 0
|
Java API
HDFS的数据写入流程是怎样的?请描述数据写入的过程。
HDFS的数据写入流程是怎样的?请描述数据写入的过程。
529 0
|
缓存 分布式计算 负载均衡
HDFS 的写数据流程分析
HDFS的写数据流程是一道比较常见的面试题,同时梳理了写流程也可以帮助我们更加深入一点的了解 HDFS 的主要原理和各个组件的交互过程
|
算法 数据中心
HDFS数据的读写流程
HDFS数据的读写流程
387 0
|
机器学习/深度学习 缓存 分布式计算
Hadoop基础学习---4、HDFS写、读数据流程、NameNode和SecondaryNameNode、DataNode
Hadoop基础学习---4、HDFS写、读数据流程、NameNode和SecondaryNameNode、DataNode