大数据开发:Hadoop数据写入和数据读取流程

2021-07-14 18:08:44 浏览数 (1)

基于Hadoop开发自己的企业大数据平台,这是现如今很多企业刚开始做大数据的选择,而在Hadoop系统框架当中,Hadoop实现数据处理的原理和技术,更是很多同学在学习上的难点。今天,我们就基于Hadoop生成数据、写入数据和读取数据的流程,来给大家做一个简单的分解。

Hadoop系统框架当中,实现数据生成写入的核心组件,就是HDFS。HDFS就是基于Hadoop的分布式文件存储,为数据处理提供底层支持。

Hadoop生成数据不像是往磁盘当中拷贝数据那么简单,HDFS基于数据写入和读取,需要遵循数据安全性和数据写入的高效性。

第一步,是文件拆分。将要写入HDFS的文件进行拆分,分成HDFS规定设置的block size的大小,一般默认是64M,这也是HDFS当中文件储存的基本单位。

第二步,是分配DataNode。文件被拆分成规定的block size之后,要将这些文件写入到datanode,因为HDFS采取的是冗余备份,每个block会在三个不同的datanode上面存储起来。

第三步,是写入DataNode。分配好Block和datanode的对应关系之后,namenode写入datanode1,datanode1写入datanode2,datanode2在写入datanode3。

如果在写入过程中出现翠玉,比如说因为某台机器断电、宕机等原因没有成功写入,那么将文件写入这个datanode的节点会通知namenode写入失败,请求namenode重新分配datanode写入。

数据写入完毕之后,下一步如果要进行数据计算,那么就需要进入读取数据的流程——

首先,client发出要读取文件的要求;向namenode请求这个文件的几个块都放在哪个datanode上面;获知datanode信息后,client去相应的机器上读取文件块;依次读取这个文件的所有文件块,组成完整的文件,实现HDFS的文件读取流程。

Hadoop生成数据,在效率和安全性上都做了考虑,既不只用内存(效率高但是安全性差),也不只用磁盘(效率低但是安全性好),一般是读/写数据直接面向内存,内存达到一定限值后写入磁盘。

关于Hadoop数据写入与读取流程,以上为大家做了一个简单的过程分解,将这些流程分解开来之后,我们会发现,Hadoop框架是数据处理上是考虑非常周全的,这也是现如今Hadoop被主流运用的原因之一。

0 人点赞