「Apache Spark」は、オープンソースの汎用的なデータ処理フレームワークである。バッチ処理やストリーミング処理などに対応するアプリケーションを開発できる。分散並列処理フレームワーク「Apache Hadoop」のクラスタ上で稼働するが、Hadoopから独立してアプリケーションを稼働させることもできる。
Sparkは、分散ファイルシステム「Hadoop Distributed File System(HDFS)」にキャッシュを設けることで、インメモリ上で分散処理するといったことも可能だ。これによって、ストレージへのオーバーヘッドをなくし、MapReduceが苦手としていた繰り返し処理やドリルダウン分析の処理速度を高めている。
Sparkにはさまざまなコンポーネントが用意されており、HDFS上にあるデータをさまざまなワークロードを実行できるようになっている。コンポーネントとしては、SQL実行環境として活用するための「Spark SQL」、機械学習させるための「MLlib」、データをストリーム処理するための「Spark Streaming」、グラフ処理するための「Spark GraphX」などがある。
分散処理フレームワーク「MapReduce」を置き換えるものとして「Hadoop YARN(Yet Another Resource Negotiator)」があるが、YARNは分散処理をハンドリングするためのフレームワークとして使用するため、Sparkとは役割が異なる。
用途と機能 | Hadoop向けのデータ処理フレームワーク |
---|---|
特徴 | Spark SQLやMLlib、Spark Streaming、Spark GraphXなどのコンポーネントでさまざまなワークロードをHDFS上のデータを対象に実行できる |
税別価格 | 無償(オープンソース) |