ds data-storage data-processing
DS検定トップ
> MapReduceとは?(分散処理の基本モデル)【DS検定リテラシー】
まず結論
MapReduceとは、大量データを「分けて処理し、あとでまとめる」分散処理の仕組みです。
DS検定では「分散処理の流れを理解しているか」を判断させる問題で問われます。
直感的な説明
1億件のデータを1人で集計するのは大変です。
でも、
- 100人で分担して集計する
- 最後に結果を合計する
これなら速いですよね。
MapReduceはこの考え方です。
- Map:分けて処理する
- Reduce:まとめる
シンプルですが、ビッグデータ処理の基本モデルです。
DS検定では
「MapとReduceの役割を逆に書いた選択肢」がよく出ます。
定義・仕組み
MapReduceは、Hadoopで使われる分散処理モデルです。
処理の流れは3段階です。
① Map
データを分割し、それぞれのノードで処理する
例: 売上データから「商品ごとの売上」を抽出する
② Shuffle(内部処理)
同じキー(商品名など)をまとめる
③ Reduce
同じキーごとに集計する
例: 商品Aの売上を合計する
ポイントは、
- 分割して並列処理
- キー単位でまとめる
- 最終的に集約する
という流れです。
どんな場面で使う?
使う場面
- 大量ログの集計
- Webアクセス数のカウント
- 売上集計
- キーワード出現回数のカウント
「集計系処理」と相性が良いです。
向かない場面
- リアルタイム処理
- 複雑な反復計算(機械学習の学習処理など)
この点でSparkとの違いが出ます。
よくある誤解・混同
① MapとReduceの役割を逆にする問題
DS検定ではよく、
- Mapが集計する
- Reduceが分割する
という誤りを混ぜてきます。
正しくは:
- Map=分けて処理
- Reduce=まとめて集計
② Hadoopと同義と思ってしまう
Hadoopは基盤全体。
MapReduceはその中の「処理モデル」。
ここは切り分けておきましょう。
③ Sparkとの混同
Sparkも分散処理基盤ですが、
- MapReduceはディスク中心
- Sparkはメモリ中心
という違いがあります。
DS検定では
「高速」「インメモリ」という言葉が出たらSpark寄りです。
まとめ(試験直前用)
- MapReduceは分散処理モデル
- Map=分割して処理
- Reduce=まとめて集計
- 集計系処理と相性が良い
- Hadoopは基盤、MapReduceは処理方式
対応スキル項目(データエンジニアリング力シート)
- データ基盤
- 分散処理基盤
- ★ 分散処理基盤の基本的な仕組みを理解している
- ★ 分散処理の基本的な処理モデルを理解している
🔗 関連記事
- バッチ処理とストリーム処理の違いとは?【DS検定リテラシー】
- データレイクとは?(DWHとの違いも整理)【DS検定リテラシー】
- データトランスフォーメーションとは?(非構造化データの変換)【DS検定】
- データウェアハウス(DWH)とは?データマートとの違いを理解する【DS検定】
- データウェアハウス(DWH)とは?(データレイクとの違いも整理)【DS検定リテラシー】