Hadoopでファイルを格納する方法
Hadoopは、Hadoop分散ファイルシステム(HDFS)でファイルを保管します。以下は、HDFSでファイルを保管する手順です。
- ファイルを固定サイズのデータ塊に分割します(通常は128 MB)。
- 各データはクラスター内の複数のノードに複製され、データの冗長性と可用性を高めています。
- 各データブロックの1つのコピーが「プライマリレプリカ」と呼ばれ、それ以外のレプリカは「セカンダリレプリカ」と呼ばれる。
- 元データ(ファイルやディレクトリの情報)を管理するNameNodeというホストに、オリジナルのコピーが保存されています。
- 複製副本はDataNodeと呼ばれるホストに格納され、そこでは実データブロックの格納と処理が行われます。
- HDFSはブロックの場所情報やレプリケーションポリシーにより読み書きに最適なノードを決定します。
- 書き込まれるファイルは、データブロックという塊に分断され、DataNodeと呼ばれるデータ保管場所に割り当てられます。各DataNodeは、1つ以上のデータブロックのコピーを保持します。
- HDFSはファイルの読み出し時にデータブロックの位置情報クライアントに渡すので、クライアントはDataNodeと直接通信してデータブロックを取得できる。
Hadoopは、ファイルをデータブロックに分割し、それらを複数のノードに複製することで、ノードの障害やデータの損失に対する高い可用性と耐障害性を提供します。さらに、HDFSは複数のデータブロックの読み書きを並列に行うことができるため、高いスループットを提供します。