Hadoopとは
Hadoopとは、大規模データの蓄積・分析を分散処理技術によって実現するオープンソースのミドルウェアです。
Hadoop の構成要素
| コンポーネント | 主な役割 | バッチ or リアルタイム |
|---|---|---|
| HDFS | 分散ファイルシステム | 両方に対応。(主にバッチ)中間データ処理に最適。 |
| MapReduce | バッチ処理フレームワーク | バッチ処理のみ |
| Hive | SQLライクなバッチ分析 | バッチ |
| Pig | スクリプトベースのデータフロー言語。チェックポイントや分岐を持つETLを簡潔に記述 | バッチ |
| HBase | カラム型のNoSQLデータベース | リアルタイム |
注意点
- Hadoop MapReduce の Python サポートは限定的(Hadoop Streaming を使う形)
YARN(Yet Another Resource Negotiator)
Hadoopクラスタのリソース管理、ジョブスケジューリングを担当します。
Sparkとの関係
SparkとHadoopは比較して語られることが多いですが、Sparkが登場して世代交代を迫られたのはMapReduceの部分だけです。
実務では、「データはHDFS(Hadoopの倉庫)に置いたまま、計算だけSpark(足の速い作業員)にやらせる」という構成が非常に多いです。
また、MapReduceも完全に消えたわけではありません。
ただし2026年3月現在の最近では、さらに進化して「Hadoopの倉庫(HDFS)」すら使わないケースも増えています。
-
ストレージ: HDFSの代わりに AWS S3 などのクラウドストレージを使う
-
リソース管理: YARNの代わりに Kubernetesを使う
こうなると「HadoopなしのSpark単体運用」となっていきます。