学習ロードマップ

Spark でビッグデータ処理

RDD / DataFrame / Spark SQL から PySpark 実装、機械学習、クエリチューニングまで、分散処理の要点を 5 冊で押さえる。

初めてのSpark 入門PySpark : PythonとJupyterで活用するSpark2エコシステム 詳解Apache Spark : 大規模データ分析を基礎から、徹底的に Sparkによる実践データ解析 : 大規模データのための機械学習事例集 【POD】Apache Spark ビッグデータクエリチューニング
SCROLL TO BEGIN

このロードマップが扱うもの

- SQL Python / - Hadoop / MapReduce Spark - PySpark Databricks 使RDD / DataFrame / Catalyst

このロードマップの全体像

対象読者

  • SQL や Python は書けるが、単一マシンでは処理しきれないデータ量に直面し始めたデータエンジニア / 分析者
  • Hadoop / MapReduce 時代の知識はあるが、Spark ベースの現行スタックへ移行したい中堅エンジニア
  • PySpark や Databricks をチームで使い始めたものの、RDD / DataFrame / Catalyst の内部動作を言語化できていない実務者

5 冊で到達する状態

  • RDD・DataFrame・Dataset・Spark SQL の使い分けを、処理特性とオプティマイザの観点から説明できる
  • PySpark で ETL / 集計パイプラインを書き、Jupyter 上で反復的に検証できる
  • MLlib を使った前処理・特徴量エンジニアリング・モデル学習の定型パターンを組める
  • Stage / Task / Shuffle / パーティション設計を読み解き、遅いジョブの原因を切り分けられる
  • Skew Join・Salted Join・ブロードキャスト結合など、大規模ジョブ固有のチューニング手筋を持つ

進め方のヒント

  • 1 冊目で全体像、2 冊目で Python からの実装感を掴んでから、3 冊目で RDD とエンジン内部に戻ると理解が立体化する
  • ローカルの Spark やクラウドの無料枠を用意し、章末サンプルを必ず 1 度は動かす
  • 4 冊目以降は Spark UI の Stage / Executor タブを並べて読み、教科書の説明と実ログを突き合わせる

ロードマップ

5 つのステップで読み進める

  1. 01
    ステップ 01 Spark 全体像をつかむ定番総合入門書
    初めてのSpark
  2. 02
    ステップ 02 PySpark と Jupyter で実装を始める
    入門PySpark : PythonとJupyterで活用するSpark2エコシステム
  3. 03
    ステップ 03 RDD と実行モデルを基礎から徹底解説する一冊
    詳解Apache Spark : 大規模データ分析を基礎から、徹底的に
  4. 04
    ステップ 04 機械学習ユースケースで応用力を鍛える事例集
    Sparkによる実践データ解析 : 大規模データのための機械学習事例集
  5. 05
    ステップ 05 Skew / Salted Join までのチューニング
    【POD】Apache Spark ビッグデータクエリチューニング

第 1 章

Spark 全体像をつかむ定番総合入門書

  1. Spark 全体像をつかむ定番総合入門書

    RDD から Spark SQL・Streaming・MLlib までを概観する定番入門。最初に語彙とコンポーネント構成を揃え、以降の 4 冊で深掘りする土台を作る。

    初めてのSpark
    この章の 1 冊 初めてのSpark

    Apache Spark の基礎から分散クラスタ運用まで体系的に習得する

    この本で身につくこと
    • RDD(耐障害性分散データセット)の変換とアクションを使い、遅延評価とパーティション設計を意識した分散処理プログラムを書ける
    • キー/値ペア操作を通じ、集計・結合・シャッフルのコストを把握してジョブを最適化できる
    • HDFS・S3 等の外部ストレージとの入出力ルートを理解し、実データを読み込んで処理を完結させられる
    • Spark SQL でデータフレーム操作とクエリを組み合わせ、構造化データを効率的に扱える

    想定読者: Hadoop/MapReduce を経験済みで Spark へ移行を検討しているデータエンジニア、またはビッグデータ処理基盤の構築・運用を担うバックエンドエンジニア

    本の詳細を見る →
  2. PySpark と Jupyter で実装を始める

    Python API を中心に ETL と DataFrame 操作を手を動かしながら学ぶ。1 冊目の概念を実コードに落とし、日々の業務で回す実装感覚を作る段階。

    入門PySpark : PythonとJupyterで活用するSpark2エコシステム
    この章の 1 冊 入門PySpark : PythonとJupyterで活用するSpark2エコシステム

    PythonからApache Sparkを使い分散処理・機械学習を実践する

    この本で身につくこと
    • RDDとDataFrameの違いおよびCatalystオプティマイザによる実行計画最適化の仕組みを説明できる
    • MLlibおよびMLパッケージを用いた分類・回帰・クラスタリングパイプラインをPySparkで実装できる
    • GraphFramesによるグラフ処理(PageRank・最短経路探索)をPythonから実行できる
    • Structured Streamingでリアルタイムデータ処理のジョブを構築できる

    想定読者: Pythonの基礎知識を持ち、大規模データ処理や機械学習基盤を構築したいデータエンジニア・データサイエンティスト

    本の詳細を見る →
  3. RDD と実行モデルを基礎から徹底解説する一冊

    RDD の仕組み・DAG・Shuffle・SQL オプティマイザを腰を据えて解説する解説書。ここで内部構造を掴み、チューニング本を読むための基礎体力を付ける。

    詳解Apache Spark : 大規模データ分析を基礎から、徹底的に
    この章の 1 冊 詳解Apache Spark : 大規模データ分析を基礎から、徹底的に

    Apache Spark の全コンポーネントを基礎から実践まで体系的に習得する

    この本で身につくこと
    • Spark の中核概念である RDD の遅延評価・変換・アクションの仕組みを説明できる
    • YARN・Standalone・Mesos に対応した Spark クラスタの構築と運用手順を実施できる
    • DataFrame API と Spark SQL を使い、構造化データに対して高効率なクエリを組める
    • Spark Streaming でリアルタイムデータをバッチ処理と統合するパイプラインを設計できる

    想定読者: データ分析・データエンジニアリングに取り組むエンジニアで、Hadoop/MapReduce の限界を感じ Spark へ移行を検討している人、または分散処理フレームワークを初めて本格的に学ぶ中級エンジニア

    本の詳細を見る →
  4. 機械学習ユースケースで応用力を鍛える事例集

    前処理・特徴量・モデル学習まで、現実のデータを題材にした事例集。MLlib と DataFrame を組み合わせて分析タスクに Spark を投入する型を身に付ける。

    Sparkによる実践データ解析 : 大規模データのための機械学習事例集
    この章の 1 冊 Sparkによる実践データ解析 : 大規模データのための機械学習事例集

    Apache Spark と Scala で大規模データの機械学習パイプラインを実装する

    この本で身につくこと
    • Spark MLlib の代表的なアルゴリズム(クラスタリング・分類・回帰・推薦)を実データで適用するワークフローを習得できる
    • データクレンジングから特徴量エンジニアリング、モデルチューニングまで一連のパイプライン設計の判断軸を身につけられる
    • Scala と Spark を組み合わせた分散データ処理の基本パターンを、実際のユースケースを通して理解できる
    • SparkR を用いた R 環境からの Spark 活用方法を把握できる(日本語版付録)

    想定読者: Spark を使った機械学習・分析基盤の構築に取り組むデータサイエンティストや ML エンジニア。ビッグデータ環境での分散処理経験があり、MLlib の実践的な活用方法を体系的に学びたい中〜上級者。

    本の詳細を見る →
  5. Skew / Salted Join までのチューニング

    ログの読み方、パーティション設計、Skew Join / Salted Join など実運用で効く勘所を集めた一冊。遅いジョブを自力で速くできる段階へ押し上げる。

    【POD】Apache Spark ビッグデータクエリチューニング
    この章の 1 冊 【POD】Apache Spark ビッグデータクエリチューニング

    Apache Spark クエリのパフォーマンスを体系的にチューニングする

    この本で身につくこと
    • Spark クエリの実行計画とシャッフルステージを読み解き、ボトルネックの位置を特定できる
    • Spark の Web UI・ログからジョブの遅延原因を診断する手順を習得できる
    • データスキューが発生する仕組みと Salted Join によるパーティション分散の実装手法を理解できる
    • Skew Join の検知と対処の判断フローを自分のチューニング方針に組み込める

    想定読者: Apache Spark を業務で運用しており、クエリの遅延やデータ偏りに起因するパフォーマンス問題を自力で解決したいデータエンジニア・バックエンドエンジニア

    本の詳細を見る →