●背景とこの記事について
業務においてHue, Zeppelinという用語について見聞きした。調べてみるとHadoopという基盤上のツールであることが分かった。そもそもHadoopという言葉について理解していなかったため、これらの用語の関係性を調べてまとめてみた。その中でDatabricksも使われている話も聞いたため、Databricksについても関係をまとめてみた。
以下の用語についてザックリ理解できる
- Hadoop
- Hue
- Zeppelin
- Spark
- Databricks
- クラスタ
●Hadoop
大量データを分散して保存・処理するための基盤
⇒複数台のサーバをノードに分散して格納・並列処理する仕組み
┌─────────────────────────────┐
│ Hadoop Ecosystem │
└─────────────────────────────┘
│
┌─────────────────────────────┐
│ 1. HDFS (保存層) │
│ 2. YARN (リソース管理層)│
│ 3. MapReduce(処理層) │
│ 4. Common (共通ライブラリ)│
└─────────────────────────────┘
- HDFS
- Hadoop Distributed File System
- 分散ファイルシステム
- YARN
- Yet Another Resource Negotiator
- Hadoopクラスタ全体のリソース管理とジョブ実行制御
- クラスタ内のCPU・メモリの管理
- ユーザが送ったジョブをどのノードで実行するか割り当て
- MapReduce
- 分散処理エンジン
- 分割⇒集約
- 単語出現回数カウント
- Map
- テキストを読み、単語ごとにword, 1を出力
- Reduce
- 同じ単語を集めて合計
- Map
- Hadoop Common
- 共通ライブラリ群
Hadoopは保存+処理の基盤に過ぎない
⇒分析環境には、その上にいろいろなツールが載るイメージ
Hadoop エコシステム
| レイヤー | 代表的なツール | 役割 |
|---|---|---|
| データ保存 | HDFS, HBase | ファイル・テーブル保存 |
| クエリ・分析 | Hive, Impala, Presto | SQLで分析 |
| 分散処理 | MapReduce, Spark | 並列計算 |
| 管理・UI | Hue, Ambari | GUIで操作 |
| スケジューリング | Oozie, Airflow | バッチ制御 |
| 可視化・ノートブック | Zeppelin, Jupyter | 分析・可視化 |
Hadoop, Hue, Zeppelinまとめ
| 項目 | 内容 |
|---|---|
| Hadoopの目的 | 大規模データの分散保存・分散処理 |
| 中核構成 | HDFS(保存)+ YARN(管理)+ MapReduce(処理) |
| データの流れ | データ保存 → 処理ジョブ実行 → 結果出力 |
| Hue | Hadoop基盤上のデータ(例:Hive経由)を操作するGUI |
| Zeppelin | Hadoop基盤上のデータ(例:Hive経由)をノートブック形式で操作するツール |
●HadoopからDatabricksの流れ
全体像
【昔の構造】オンプレ時代
┌─────────────┐
│ Hadoop │ ← 保存・処理基盤(HDFS + MapReduce + Hive)
│ ↑ │
│ │Hue/Zeppelin│ ← 操作用GUI・Notebook
└─────────────┘
【今の構造】クラウド時代
┌───────────────────┐
│ Databricks │ ← Sparkベースの統合分析プラットフォーム
│ ↑ │
│ │Notebook(UI) │ ← ZeppelinのようなUI内蔵
└───────────────────┘
●Databricks
Sparkを中心にしたクラウドデータ分析基盤
Apache Sparkを開発したメンバーが設立したdatabrickが提供
Hadoopとの違い
| 観点 | Hadoop | Databricks |
|---|---|---|
| デプロイ形態 | オンプレ(自前サーバ) | クラウド(AWS, Azure, GCPなど) |
| ストレージ | HDFS(分散ファイル) | クラウドストレージ(S3, ADLS, GCS) |
| 処理エンジン | MapReduce / Spark | Spark(高性能)+Photonエンジン |
| データ管理 | Hiveメタストア | Delta Lake(トランザクション対応) |
| 管理・運用 | 自前構築・メンテナンス必要 | マネージドサービス(自動スケール) |
| ユーザー操作 | Hue / Zeppelinなど外部UI | 統合ノートブック(内蔵) |
| 開発対象 | バッチ処理中心 | バッチ+ストリーミング+MLも統合 |
⇒Hadoopでやっていたこと(保存・処理・可視化)を全部クラウド上で統合的にやる環境。
Spark
分散処理エンジンそのもの。DatabricksはそのSparkを中心に構築された統合データ分析プラットフォーム
SparkはHadoopのMapReduceの欠点を補うために出現。
クラスタ
複数のコンピュータ(サーバ)をまとめて、1つの大きな計算機のように動かす仕組み
| 役割 | 名称 | 主な役割 |
|---|---|---|
| 管理ノード(Master Node) | クラスタ全体を管理 | タスクの割り振り・監視・スケジューリング |
| ワーカーノード(Worker Node) | 実際の処理を実行 | データの保存や計算処理を担当 |
| クライアント(Client) | 操作を指示する端末 | ジョブを投げて結果を受け取る |
●全体まとめ
-
Hadoop … 分散の“土台”
-
Hue … Hadoopを“操作”
-
Zeppelin … Sparkを使う”ノートブック”
-
Spark … 分散処理の“エンジン”
-
Databricks … Sparkを“クラウドで使いやすくした環境”
-
クラスタ … 複数のコンピュータをまとめて1つとして動かす仕組み