Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

Sparkの主な拡張コンポーネントの紹介と、SparkSQLを利用した簡単な分析

ゼロからはじめるSparkアプリケーション入門(2)

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

 前回は、Sparkの入門ということでローカルPCにSparkの開発環境を構築し、インタラクティブシェルを使ってScala、PythonでのSparkのコアコンポーネントを使ったプログラミングを行いました。また、サンプルを用いてRDD、DAGや遅延実行といったSparkの概念についても簡単に紹介致しました。今回は、Sparkをより便利に使い込むためにSparkコアを拡張した各コンポーネントを使ったプログラミングを行っていきます。各コンポーネントの概要を見た後、それぞれのプログラミングを行っていきましょう。

目次

Sparkのテクノロジースタック

 Sparkでは、コアコンポーネントを拡張したSparkSQL、GraphX、Spark Streaming、MLlibといったコンポーネントが用意されています。下記はSparkのテクノロジースタックを表したものです。

テクノロジースタック
テクノロジースタック

SparkSQL

 SparkSQLは、その名のとおりSpark上でSQLを利用するためのコンポーネントです。Sparkの分散環境上で大量データに対して高速なSQLを実行できます。今回、SparkSQLではデータフレームを通してデータの処理を行います。

GraphX

 GraphXは、Spark上でGraph構造を扱うためのコンポーネントです。Graph構造を扱うためのVertex、Edgesなどの便利なAPIが実装されています。

Spark Streaming

 Spark Streamingは、Spark上でストリームデータ処理を行うためのコンポーネントです。RDBやNoSQLといった蓄積したデータに対して処理を行うのではなく、流れてくるデータに対して処理を挟み込むことで、よりリアルタイムな処理が可能となります。

MLlib

 MLlibは、機械学習の各種アルゴリズムを提供しているコンポーネントです。Spark上で機械学習を効率よく行うため、さまざまなアルゴリズムの実装が行われています。

 今後の連載を通じて各コンポーネントのプログラミングを見ていきます。今回はSparkSQLについて、Scala、Pythonそれぞれの言語を使ってSparkのプログラミングを行っていきます。

【PR】


  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 田中 裕一(日本アイ・ビー・エム株式会社)(タナカ ユウイチ)

    Web系・広告系企業にて、Hadoop/Spark/Kafka等Hadoopエコシステムを利用した広告システム(DMP)・行動分析基盤・レコメンド基盤の全体アーキテクチャ設計やプログラミング、最適化、行動解析を担当。Spark/Hadoopエコシステムを筆頭にOSSを組み合わせた大規模なアーキテクチ...

バックナンバー

連載:ゼロからはじめるSparkアプリケーション入門
All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5