hadoop的读写流程是什么?

hadoop 的读写流程是什么?

Hadoop 的读写流程主要分为两部分:HDFS 的读写流程和 MapReduce 的读写流程。

1. HDFS 的读写流程:

  • 写入流程:当客户端需要向 HDFS 写入数据时,首先会将数据划分为块(通常为 128MB)并进行复制,然后通过 HDFS 客户端将数据块传输给 NameNode,NameNode 会将数据块的元数据信息记录在 EditLog 日志中,并将数据块的具体位置信息保存在 BlockMap 中。接着,客户端会将数据块传输给 DataNode,DataNode 将数据块保存在本地磁盘上,并向 NameNode 发送确认信息。最后,NameNode 更新元数据信息并返回写入结果给客户端。
  • 读取流程:当客户端需要从 HDFS 读取数据时,首先向 NameNode 发送读取请求,NameNode 返回数据块的位置信息给客户端。然后客户端通过 HDFS 客户端从 DataNode 读取数据块,并将数据块合并成完整的文件。

2. MapReduce 的读写流程:

  • 写入流程:在 MapReduce 任务中,输入数据通常从 HDFS 中读取。MapReduce 作业首先从 HDFS 中读取输入数据,然后将输入数据划分为 InputSplit,每个 InputSplit 对应一个 Map 任务的输入数据。接着,MapReduce 框架会将 InputSplit 分配给不同的 Map 任务并将任务发送到集群中的各个节点上执行。
  • 读取流程:在 MapReduce 任务中,输出数据通常会写入 HDFS 中。每个 Map 任务会生成中间结果并将其写入本地磁盘上的临时文件中,而 Reduce 任务则会从各个 Map 任务的临时文件中读取中间结果并进行合并。最后,Reduce 任务将最终结果写入 HDFS 中。

总的来说,Hadoop 的读写流程可以简单概括为:数据写入时先将数据划分、复制并保存元数据信息,然后将数据块保存在 DataNode 上;数据读取时先获取数据块的位置信息,然后从 DataNode 读取数据块并进行合并处理。

「点点赞赏,手留余香」

1

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
码云笔记 » hadoop的读写流程是什么?

发表回复