首页 > 编程知识 正文

hfpef和hfref,大数据分析的一般流程是什么

时间:2023-05-05 19:27:50 阅读:161240 作者:4831

1.HFDS数据写入过程的基本参数

首先,在数据写入过程中,了解什么是块、包、chunk

1.block :如果上传的文件太大,则必须将数据块分成块。 1块的默认设置为128M,在客户端完成断开操作。 数据块block也不是一次传输到DataNode,客户端向DataNode传输数据文件时,每个打包包缺省为64KB。

因此,从客户端到第一个节点,从第一个节点到第二个节点……数据传输串联,作为一个个数据包流动。

chunk是客户端在DataNode或DataNode和Pipeline之间验证数据的基本单位,缺省为512字节,每个chunk需要4字节的奇偶校验位。 所以一个chunk是516KB

2.HDFS数据写入过程

)1)客户端通过“分布式文件系统”模块请求NameNode上传文件,NameNode检查目标文件是否已存在以及父目录是否存在。

)2) NameNode返回是否可以上载。

)3)客户端请求第一个Block上载到哪个DataNode服务器。

)4) NameNode返回dn1、dn2、dn3三个DataNode节点。

)5)客户机通过FSDataOutputStream模块向dn1请求上传数据,dn1接收到请求后继续调用dn2,然后dn2调用dn3建立该通信管道。

(6) dn1、dn2、dn3逐步响应客户端。

)7)客户端开始将第一个块上传到dn1 (从磁盘读取数据并将其放置在本地内存缓存中),当dn1接收包时,dn1逐个包地将其传递给dn2,dn2则传递给dn3。 每次传递packet时,dn1都在应答队列中排队等待应答。

(8)一个块传输完成后,客户端再次请求NameNode上传第二个块的服务器。 (重复执行步骤3-7。

3.HDFS数据读取流程

注意:读取也遵循最近的原则,如果DataNode1节点损坏,则从DataNode2开始读取。 如果在下位的相同节点中使用相同的流,则不同的节点会打开新的流。

(1)客户端通过分布式文件系统向NameNode请求下载文件,NameNode通过询问元数据找到文件块所在的DataNode地址。

)2) DataNode )选择最近的原则,随机)选择服务器,委托读取数据。

)3) DataNode开始向客户传输数据(从磁盘读取数据输入流,按包单位进行检查)。

开始向客户端传输数据(从磁盘读取数据输入流并按包检查)。

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

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。