Apache Sparkとは

「Apache Spark(アパッチ スパーク)」とは、ビッグデータに対して高速に分散処理が行えるオープンソースのクラスターコンピューティングフレームワークです。Apache Sparkは分散処理の際の複雑な部分を抽象化できるため、簡潔なコードを実行することで同時並行して何百というコンピューターでの計算を実現できます。「ITインフラテクノロジーAWARD 2015」では、Dockerに続いて準グランプリとなっています。

Apache Sparkの特徴

Apache Sparkは非常に高速で、計算に1週間かかるものもApache Sparkを使えば、1時間で終わらせることも可能となります。また汎用性もあり、「Spark SQL」「Spark Streaming」「MLlib」「GraphX」などライブラリがデフォルトで組みこまれています。

分散処理を記述するために80以上にも及ぶ演算子が用意され、「Scala」「Java」「Python」「R言語」と様々な言語に対応しているため、使いたい言語で比較的容易に機械学習やビッグデータの解析に使用できます。

Apache Sparkが生まれた背景

大規模データの分散処理では、「Hadoop」は人気があり需要も高く、活用されているシーンが増えています。しかし、いくつか欠点もあり機械学習の人気に伴い課題も増えていきました。Apache Sparkはその課題を解決するべく誕生し、従来はその都度ストレージにアクセスをしていましたが、インメモリでの実行が実現しました。すでにHadoopを使用している場合、Apache Sparkと共存ができます。

Apache Sparkの開発元

アメリカのカリフォルニア大学バークレー校「AMPLab」でApache Sparkの開発が始まりました。開発されたコードは管理元である「Apache Software Foundation」へ寄贈され、現在ではApacheのトップレベルのプロジェクトのひとつとなりました。

AMPLabは機械学習、クラウドソーシング、クラウドコンピューティングの3つを大きなテーマとして取り組んでおり、Apache Sparkはその中でも非常に有名な成果物と考えられます。また、AMPLabの開発メンバーによって2013年にスタートアップ企業「Databricks」が立ち上げられ、現在はDatabricksがApache Spark開発の中心となっています。