用語比較
HadoopとSparkの違い|保存と処理の基盤か、処理エンジンか(DS検定)
HadoopとSparkは同じ役割の競合品ではなく、Hadoopはデータを保存する部分(HDFS)と処理する部分(MapReduce)を含む基盤で、Sparkは処理を担うエンジンです。Sparkの保存の仕組みは、別のものと組み合わせて使います。
Hadoopは保存と処理をまとめた基盤、Sparkは処理を速く回すエンジンと区別するのが出発点です。Sparkは、Hadoop MapReduceの制約を受けて作られました。
この記事の目次
この記事の根拠と出典
各セクションの見出しの下に、公式資料で確認した内容か編集部の整理かをラベルで示しています。 試験日・料金・申込条件・試験方式は変わることがあるため、申込前に公式サイトで確認してください。
HadoopとSparkの要点
Hadoop
大量データの分散保存と分散処理のためのオープンソースの部品群。保存はHDFS、処理はMapReduce、資源の管理はYARNが担う。
Spark
分散処理のエンジン。処理の途中結果を扱う仕組み(RDD)が土台で、保存の仕組みは別に必要。HDFSやAmazon S3などと組み合わせて使う。
違いを表で確認
| 比較軸 | Hadoop | Spark |
|---|---|---|
| 役割 | 分散保存(HDFS)と分散処理(MapReduce)を含む基盤 | 分散処理のエンジン。保存と資源の管理は別の仕組みに任せる |
| 処理の進め方 | MapReduceは入力をディスクから読み、処理結果をディスクへ書く直線的な流れ | RDDを作業用のデータとして使い、同じデータを何度も読む処理に向く |
| データの置き場所 | HDFSに保存する | HDFS、Amazon S3、Cassandraなど、さまざまな保存先とつなげる |
| 向く用途 | 大量データを分けて保存し、まとめて処理する | 繰り返し処理(機械学習の学習など)や、同じデータへの何度もの問い合わせ |
| 両者の関係 | Hadoopの周辺ソフトの一つとして、Sparkが挙げられる | 資源管理にHadoop YARN、保存にHDFSを使える |
DS検定の学習に使う書籍(Amazon)
PRどこで迷っているかを切り分ける
HadoopとSparkを、どちらかを選ぶ競合だと思っている人
役割が違います。HadoopのHDFSにデータを置き、その上でSparkが処理する組み合わせも使われます。比べるときは、Hadoop MapReduceとSparkの処理方式を比べるのが正確です。
MapReduceとSparkの処理の違いを説明できない人
MapReduceは入力をディスクから読み、結果をディスクに保存する流れです。Sparkは、RDDという作業用のデータを使い、同じデータを繰り返し使う処理で待ち時間を短くできます。
試験で、どのデータをどちらで管理すべきかを問われて迷う人
チェックリストはメリット・デメリットを理解して選定することを求めています。大量のデータを保存する場面ならHDFS、繰り返し処理を速く回したい場面ならSparkと、役割から考えます。
具体例で使い分ける
例 1
大量のログを分けて保存し、まとめて集計したい場合
複数のコンピュータで、大量のログファイルを保存し、集計したい場面です。
- 保存と処理の両方が必要です。Hadoopは、ファイルを大きなブロックに分けて各ノードに置き、コードをノードへ送って並列に処理します。
- データのあるノードで処理するため、データの移動を減らせます。
結論: 保存と処理をまとめて任せたいなら、Hadoopを考えます。
例 2
機械学習の学習で、同じデータを何度も読む場合
同じデータセットを繰り返し読んで、モデルを学習したい場面です。
- 同じデータを何度も読む処理です。毎回ディスクに書いて読み直す流れは、待ち時間が長くなります。
- Sparkは、RDDを作業用のデータとして使い、繰り返し処理の待ち時間を大きく下げられると説明されています。機械学習の学習が、Spark開発のきっかけでもあります。
結論: 同じデータを繰り返し使う処理は、Sparkに向きます。
問題文から答えを選ぶ手順
- 1
保存の話か、処理の話かを分ける
保存の仕組みはHDFS、処理の仕組みはMapReduceやSparkです。問われているのがどちらかを先に切り分けます。
- 2
処理の方式を確かめる
入力と結果をディスクに読み書きする直線的な流れはMapReduce、作業用のデータを使い回す処理はSparkです。
- 3
繰り返し処理があるかを見る
機械学習の学習や、同じデータへの何度もの問い合わせは、Sparkが向く場面です。
- 4
組み合わせを考える
Sparkは保存の仕組みを持たないため、HDFSなどと組み合わせます。資源の管理にはYARNを使えます。
試験での見分け方
- 1Hadoopは、分散保存(HDFS)と分散処理(MapReduce)を含む基盤である。
- 2Sparkは分散処理のエンジンで、保存と資源の管理は別の仕組みを必要とする。
- 3SparkはHadoopのHDFSやYARNの上でも動く。両者は組み合わせて使える。
誤答しやすい選択肢
SparkはHadoopを置き換えるもので、同時には使えないと考える
修正: SparkはHDFSに保存したデータを読めて、資源の管理にHadoop YARNも使えます。組み合わせて使えます。
Hadoopを、処理の仕組みだけだと考える
修正: Hadoopの中心は、保存のHDFSと、処理のMapReduceの2つです。保存の部分も含みます。
Sparkが保存先まで用意すると考える
修正: Sparkは分散保存の仕組みを必要とします。HDFS、Amazon S3、Cassandraなどにつないで使います。
確認問題
Q1Hadoopの、分散ファイルシステムの名前は何ですか?
答え: HDFS(Hadoop Distributed File System)
ファイルを大きなブロックに分けて、クラスターの各ノードに置きます。
Q2入力をディスクから読み、結果をディスクに保存する直線的な流れの処理モデルは何ですか?
答え: MapReduce
Sparkは、この制約への対応として作られました。
Q3Sparkの土台になる、クラスターに分散した読み取り専用のデータの集まりは何ですか?
答え: RDD(Resilient Distributed Dataset)
障害に強い形で保持され、繰り返し処理の待ち時間を下げる役割を持ちます。
到達チェック
- HadoopとSparkの役割の違いを言える
- HDFS、MapReduce、YARNの役割を言える
- MapReduceとSparkの処理の流れの違いを説明できる
- Sparkが保存の仕組みを別に必要とする理由を言える
関連ページで確認する
同じ資格で次に知りたいこと
- Webスクレイピングと Web API の違い|画面から取るか、提供口から取るか(DS検定)
Webスクレイピングと Web API の違いを、データの取り方、安定性、使える範囲、注意点で解説。DS検定のデータ収集で問われる静的コンテンツの収集とREST APIの使い分けと確認問題つきです。
- 主キーと外部キーの違い|行を特定するか、別の表を指すか(DS検定)
主キーと外部キーの違いを、役割、重複とNULL、表どうしのつながり、参照整合性で解説。DS検定のER図とテーブル設計で問われる見分け方の手順と確認問題つきです。
- WHERE句とHAVING句の違い|集計の前に絞るか、後に絞るか(DS検定)
SQLのWHERE句とHAVING句の違いを、絞り込むタイミング、集計関数を使えるか、書き方の例で解説。DS検定のSQLで問われるGROUP BYと集計の使い分けと確認問題つきです。
よくある質問
QHadoopとSparkの一番大きな違いは何ですか?
役割です。Hadoopは、分散保存のHDFSと分散処理のMapReduceを含む基盤です。Sparkは分散処理のエンジンで、保存の仕組みは別のものと組み合わせます。
QSparkはHadoopなしで使えますか?
使えます。Wikipediaによると、Sparkは資源の管理にSpark単体、Hadoop YARN、Apache Mesos、Kubernetesを選べ、保存先もHDFS、Amazon S3、Cassandraなど複数から選べます。
QSparkはMapReduceより速いのですか?
Wikipediaは、繰り返し処理や、同じデータへの何度もの問い合わせの待ち時間を、Hadoop MapReduceの実装に比べて桁違いに下げられると説明しています。処理の種類によって差は変わります。
QDS検定にHadoopとSparkは出ますか?
データサイエンティスト協会のスキルチェックリストに、HadoopやSparkのメリット・デメリットを理解し、管理すべきデータを選定できること(★★2つ星)が含まれます。
次に見る比較
- G検定・DS検定・統計検定2級で重なる用語10語の比較
同じ名前の用語の定義と収録章を、資格ごとに並べます。
- ベイズの定理と条件付き確率の違い(統計検定2級の式と計算例)
求める確率の向きの違いと、陽性になる確率の計算例を確かめます。
- 紛らわしい用語ペア早見表
混同しやすい用語の違いと判定の手掛かりを、資格別の一覧で確かめます。
執筆: AI資格ドリル編集部(運営者情報を見る)
