0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

データ分析の文脈でよく聞くHadoop, Databricksについてざっくりまとめる

0
Posted at

●背景とこの記事について

業務において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
        • 同じ単語を集めて合計
  • 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つとして動かす仕組み

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?