GraphXよりも使いやすいグラフデータ処理ライブラリ「GraphFrames」:Java、Pythonでのグラフデータ処理が簡単に
「Apache Spark」のグラフデータ処理ライブラリ「GraphFrames」がリリースされた。米Databricks、米カリフォルニア大学バークレー校、米マサチューセッツ工科大学がSparkの「DataFrame」をベースに共同で開発したもの。
オープンソースの高速な大規模分散データ処理フレームワーク「Apache Spark」(以下、Spark)の開発を主導する米Databricksは2016年3月3日(米国時間)、Sparkのグラフデータ処理ライブラリ「GraphFrames」をリリースした。GraphFramesは、Databricksと米カリフォルニア大学バークレー校、米マサチューセッツ工科大学(MIT)がSparkの「DataFrame」をベースに開発したもの。
Sparkのドキュメントによると、DataFrameは、データの分散コレクションを「名前付きの列」に整理したもので、概念的には、リレーショナルデータベースのテーブルや、R、Pythonのデータフレームと同等だが、グラフデータ用に「高度に最適化されている」という。
GraphFrameは構造化データファイル、Apache Hiveのテーブル、外部データベース、既存のリレーショナルデータベースなど、多様なソースから構築できる。Scala、Java、Python、R向けのAPIが用意されている。
Databricksによると、GraphFramesはDataFrameが持つスケーラビリティと高いパフォーマンスの恩恵を受けており、Scalaの他、Java、Pythonでグラフデータ処理を利用するための単一のAPIを提供する。これにより、PythonとJavaから「GraphX」の全てのアルゴリズムを利用可能になった。この他、SparkのGraphXライブラリと似た一般的なグラフデータ処理をサポートする他、「幅優先探索(BFS)」や「モチーフ探索」といった新しいアルゴリズムにも対応する。
また、GraphFramesはDataFrameのデータソースを完全にサポートするので、Hadoop向けの列指向ストレージ「Parquet」形式や、JSON、CSVなど、さまざまなデータフォーマットを利用できる。
同社は公式ブログで、ソーシャルネットワークを簡単なグラフとして表現した例を用いてGraphFramesを紹介している(ユーザーが「点」、ユーザー間の関係が「辺」)。「どのユーザーが最も影響力があるか」「ユーザーAとBは知らない者同士だが、引き合わせるべきか」といった問いに対して、グラフのクエリやアルゴリズムを使って答えを出すことができるという。
この例では、ユーザー(点)は「名前」「年齢」を、ユーザー間の関係(辺)は「関係タイプ」といった属性を持つが、GraphFramesでは点と辺をDataFrameとして保存する。多くのクエリはDataFrame(またはSQL)クエリとなるため「グラフに対するクエリを簡単に表現できる」と、Databricksは説明している。
Apache Hive 2.0では「Hive-on-Spark parallel ORDER BY」が実装
Spark周辺のプロダクト開発が活性化しており、直近では、米クラウデラが開発を主導するHadoop向けSQLクエリエンジンの最新版「Apache Hive 2.0」でも、Sparkに対する並列ソート機能「Hive-on-Spark parallel ORDER BY」などが新たに実装されている。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- Apache Sparkに注力するIBM、目指すは「データ分析のOS」
北米トヨタ販売子会社での採用事例の発表などもあり、日本国内でも注目を集めつつある「Apache Spark」。具体的にはどんな特徴があって、何ができるのだろうか。Sparkへの大規模投資を発表したIBM(日本IBM)を取材した。 - Databricksがクラウド版Apache Sparkサービスのβプログラム参加者を募集中
「Apache Spark」の開発を主導する米Databricksが自社のクラウドベースビッグデータプラットフォームの無料版をApache Spark学習者向けに提供する。招待制のβプログラムを近く開始し、2016年第2四半期に正式版をリリースする。 - 知らないと大損する、Apache Sparkの基礎知識と3つのメリット
社会一般から大きな注目を集めているIoT(Internet of Things)。だが、その具体像はまだ浸透しているとはいえない。今回は、IoTやビッグデータのキーテクノロジとして注目されている「Apache Spark」について、Sparkを製品に取り込んでいる日本IBMの土屋敦氏と、数多くの企業のデータ分析を担うブレインパッドの下田倫大氏に話をうかがった。 - Sparkのエンタープライズ対応が「成熟」――Clouderaが宣言
HadoopディストリビューターもあらためてSparkへの注力をアピール。既に800ノード超のSparkクラスターを運用するユーザーも存在するという。