Hadoop 読み書きの仕組みを解説!データ処理の流れ

Hadoopの読み書きプロセスは主に2つに分かれます:HDFSの読み書きプロセスとMapReduceの読み書きプロセス。

  1. HDFSの読み書きの流れ:
  1. データをHDFSに書き込む場合の手順は次の通りです。クライアントがデータを128MBのブロックに分割し、コピーを作成します。そして、HDFSクライアントを介してデータブロックをNameNodeに送信します。NameNodeはデータブロックのメタデータ情報をEditLogログに記録し、具体的なデータブロックの位置情報をBlockMapに保存します。その後、クライアントがDataNodeにデータブロックを送信し、DataNodeはデータブロックをローカルディスクに保存し、NameNodeに確認情報を送信します。最後に、NameNodeはメタデータ情報を更新し、書き込み結果をクライアントに返します。
  2. データ読み取りのプロセス:HDFSからデータを読み取る必要がある場合、まずクライアントはNameNodeに読み取りリクエストを送信し、NameNodeはクライアントにデータブロックの位置情報を返します。その後、クライアントはHDFSクライアントを介してDataNodeからデータブロックを読み取り、データブロックを統合して完全なファイルを作成します。
  1. MapReduceの入出力プロセス:
  1. MapReduceのプロセス:MapReduceタスクでは、通常、入力データはHDFSから読み込まれます。最初に、MapReduceジョブはHDFSから入力データを読み込み、その後、入力データをInputSplitに分割し、それぞれのInputSplitが1つのMapタスクの入力データに対応します。その後、MapReduceフレームワークはInputSplitを異なるMapタスクに割り当て、タスクをクラスター内の各ノードに送信して実行します。
  2. 処理フロー:MapReduceタスクでは、出力データは通常HDFSに書き込まれます。各Mapタスクは中間結果を生成し、それをローカルディスク上の一時ファイルに書き込み、Reduceタスクは各Mapタスクの一時ファイルから中間結果を読み取り、統合します。最後に、Reduceタスクは最終結果をHDFSに書き込みます。

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

bannerAds