
128
7
章
GraphFrames
本章では GraphFramesを使い、グラフ構造として構成されたフライトパフォーマンスを高速かつ容
易に分析します。グラフ構造を使うことで、表形式では直感的に扱えないような多くの質問に容易に
答えられるようになります。そういった質問には、構造のモチーフの発見、PageRankによる空港のラ
ンキング、都市間の最短パスといったものがあります。GraphFramesはDataFrame API の分散処理
と表現力を活用し、クエリをシンプルにしてくれるとともに、Apache Spark のSQL エンジンが持つパ
フォーマンスの最適化機能を活かしてくれるのです。
加えて、GraphFramesを用いることで、Python、Scala、Java でグラフ分析ができるようになりま
す。また、新しいフレームワークを学ぶというパラダイムシフトなしに、既存の Apache Spark のスキル
を使って(機械学習、ストリーミング、SQLに加えて)グラフの問題を解決できるようにもなるのです。
7.1
GraphFrames
の紹介
GraphFrames は、Apache SparkのDataFrameのパワーを活用し、グラフ処理一般をサポートしま
す。特に、頂点と辺を DataFrameで表現することによって、任意のデータを頂点や辺とともに保存で
きるようになっています。GraphFrames はSpark のGraphXライブラリに似ていますが、次のような重
要な差異があ