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のプログラミングを行っていきます。