ビッグデータ向け高速並列処理フレームワーク「Apache Spark 1.3」がリリース

 大規模なデータ処理向けの汎用エンジン「Apache Spark」の開発チームは3月13日、最新版となる「Apache Spark 1.3」を公開した。DataFrame APIの導入など多数の新機能が追加されている。

 Apache Sparkはビックデータ向けの高速なクラスタコンピューティングフレームワーク。もともとはカリフォルニア大学バークレー校のAMPLabで開発された。2013年にApache Software Foundationに寄贈され、2014年にトップレベルプロジェクト(TLP)となった。正式版(バージョン1.0)は2014年6月に公開されている。

 インメモリコンピューティングと周期的データフローをサポートする高度なDAG実行エンジンを採用し、Apache Hadoopと比較した速度はインメモリで100倍、ディスクで10倍としている。Java、Scala、Pythonで並列処理アプリケーションを作成でき、分散SQLクエリエンジンのSpark SQL、マシン学習向けMLib、GraphX、Spark Streamingなどのツールを持つ。Apache Hadoop、Apache Mesosあるいはスタンダロンやクラウド(Apache EC2)で動き、HDFS、Cassandra、HBase、Amazon S3などさまざまなデータソースにアクセスできる。

 Spark 1.3は、2014年12月に公開されたバージョン1.2に続く最新版。最大の特徴はDataFrame APIの導入だという。SparkのRDD(Resilient Distributed Dataset)抽象を進化させたもので、フィルタリング、グループ化、アグリゲーションなどを用いて大規模なデータセットの高速処理をシンプルかつ高速にするという。Python PandasおよびRのデータフレームと相互運用が可能で、SparkのJava、Scala、PythonのAPIで利用できる。将来的にはR APIにも対応する。

 1.0で実験導入されたSpark SQLはアルファ扱いから脱し、SQL方言とセマンティックとの互換性を保証するようになった。Spark SQLのデータソースAPIは新しいDataFrameコンポーネントと完全な相互運用性を持ち、ユーザーはHiveテーブル、Parquetファイルなどのソースから直接DataFrameを作成できるという。最新版では新機能として、JDBC接続からテーブルの読み込みと書き出しが可能となり、PostgreSQL、MySQLなどのRDBMSをネイティブでサポートした。

 このほか、MLibでは新しいアルゴリズムが導入され、Spack StreamingでKafkaの部分的な統合が実現した。

 Apache SparkはプロジェクトのWebサイトから入手できる。

Apache Spark
https://spark.apache.org/