BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Apache Spark 1.3リリース - DataFrame,SparkSQL,MLibを拡張

Apache Spark 1.3リリース - DataFrame,SparkSQL,MLibを拡張

原文(投稿日:2015/03/16)へのリンク

Apache Sparkが同プロジェクトのバージョン1.3をリリースした。DataFrames APIの追加,Spark SQLの完成度の向上に加え,機械学習ライブラリMLibへの多数のメソッド追加や,Spark StreamingのApache Kafkaとの統合性向上などが主な改良点だ。

重要な機能追加のひとつはDataFrame APIだ。同名のRのデータ構造をモデルとして,表形式データの作業性のサポート向上を目的としている。DataFrameは型と名前を持った列のテーブルで構成され,フィルタ,グループ,さらにSQLのクエリに相当する集合演算も提供する。

DataFrameは,分散SQLクエリエンジンであるSpark SQLと密接に結合している。SQLクエリの結果セットやRDDからDataFrameを生成したり,あるいはParquetファイルフォーマットなどのファイルからロードすることも可能だ。従来のSparkでは,RDD(Resilient Distributed Datasets)が中心的なデータコレクション型だったが,DataFrameでは,それよりも優れた構造型データのサポートを目標としている。

Sparkの機械学習ライブラリであるSpark MLibには,トピックを識別することでドキュメントをクラスタ化する確率的手法である潜在的ディリクレ配分法(Latent Dirichlet Allocation)や,マルチクラスの予測タスクに用いられる多項ロジスティック回帰(Multinomial Logistic Regression)など,多数の学習アルゴリズムが追加された。行列のブロックを分散形式でストアする分散型線形代数についても,初期的なサポートがある。これは行列因子分解など,より複雑なデータ解析タスクを数多く行うために必要な機能だ。行列因子分解では,メインメモリに格納するには大き過ぎるような行列が関与することも少なくない。

これらのアルゴリズムに加えて,学習した予測モデルのインポートとエクスポートのような,より高レベルなデータ解析用機能も追加されている。また,バージョン1.2ではPipeline APIが導入され,データ変換のパイプラインを高いレベルで指定することが可能になった。生データから関連データを抽出するデータ科学では,このようなパイプラインが頻繁に利用される。

さらに,Apache Kafkaと直接統合して,リアルタイムにイベントデータを取得することも可能になった。

Apache Sparkは元々,カリフォルニア大学バークレー校のAMPLabで2009年に開始されたプロジェクトだ。Sparkはスタンドアロンだけでなく,既存のHadoopインストール上でも動作する。HadoopのオリジナルであるMapReduceプロセッシングモデルに比べて,非常に大規模なオペレーションセットが提供されている。可能な限りデータをメモリ上に保持する構造のため,ディスクベースで動作するMapReduceに対して,パフォーマンスが大幅に改善される。さらには,バッファに収集したデータをミニバッチで周期的に処理することにより,イベントデータを準リアルタイムに操作することが可能だ。Sparkに類似したプロジェクトとしては,ほぼ同じ機能セットにクエリ最適化や継続的ストリーム処理エンジンを加えたApache Flinkや,MapReduceプロセッシングモデル上で同等の機能を提供するCascadingScaldingなどがある。

この記事に星をつける

おすすめ度
スタイル

BT