spark graphxについて @spark meetup 2014/9/8

17
GraphXは Scala エンジニアにとっての ブルーオーシャン Spark Meetup at 2014/09/08 @teppei_tosa https://www.flickr.com/photos/exalthim/337922734

Upload: -

Post on 05-Jul-2015

485 views

Category:

Technology


3 download

DESCRIPTION

Spark GraphXについて @Spark Meetup 2014/9/8

TRANSCRIPT

Page 1: Spark GraphXについて @Spark Meetup 2014/9/8

GraphXは Sca laエンジニアにとっての ブルーオーシャン

Spark Meetup at 2014/09/08

@teppei_tosahttps://www.flickr.com/photos/exalthim/337922734

Page 2: Spark GraphXについて @Spark Meetup 2014/9/8

@ t e p p e i _ t o s a F i n a n c e I T E n g i n e e r !A s a k u s a / H a d o o p / S c a l a / P l a y F r a m e w o r k / S p a r k / G r a p h X

Who am I ?

https://www.flickr.com/photos/exalthim/337922734

Page 3: Spark GraphXについて @Spark Meetup 2014/9/8

• Sparkのコンポーネントのひとつ • 並列グラフ計算処理システム • グラフ構造データと表構造データの並列分散処理をひとつのシステムで実装することが可能

https://www.flickr.com/photos/exalthim/337922734

Page 4: Spark GraphXについて @Spark Meetup 2014/9/8

グラフ計算処理の例:ページランク

0.33 0.33 0.331を頂点の数で割った数値を各頂点の値としてセット

0.170.17

0.33 0.33

各頂点の値を、各頂点から出ているリンク数で割って、そのリンク先の頂点に配布

0.17 0.50 0.33接続してきているリンクから渡って来た値を加算して自分の頂点の値としてセット

各頂点の値が収束するまで繰り返し、この値をランクポイントとする

https://www.flickr.com/photos/exalthim/337922734

Page 5: Spark GraphXについて @Spark Meetup 2014/9/8

グラフ計算の並列分散処理の難しさ

頂点間での接続情報があるため頂点毎に分散しての計算処理は、分散処理間での通信が必要になってしう (Apache Giraphはインフラのための分散協調機構であるZooKeeperを活用している)

https://www.flickr.com/photos/exalthim/337922734

Page 6: Spark GraphXについて @Spark Meetup 2014/9/8

グラフ構造データと表構造データの処理を統一

10

20

30

1

100

3

110

120200

2

[1,10,[2,100]][2,20,[3,110]][3,30,[1,200],[2,120]]

Apache GiraphI D VA L

1 1 0

2 2 0

3 3 0

S R C T G T VA L1 2 1 0 02 3 1 1 03 2 1 2 03 1 2 0 0

GraphX

val graph = Graph.fromEdgesgraph.joinVertices(…)

https://www.flickr.com/photos/exalthim/337922734

Page 7: Spark GraphXについて @Spark Meetup 2014/9/8

あなたの周りにもグラフデータ

Social Network Train Network Data Network

https://www.flickr.com/photos/exalthim/337922734

Page 8: Spark GraphXについて @Spark Meetup 2014/9/8

グラフデータを使ってできること

Eveluate Vertex Clustering Graph Shape

Flow on Graph Predict Link

Page 9: Spark GraphXについて @Spark Meetup 2014/9/8

GraphX は まだまだ未成熟

• Web上の情報少ない

• R の igraph が揃えているのような関数が全く揃っていない

https://www.flickr.com/photos/exalthim/337922734

https://www.flickr.com/photos/katedot/8272997562

Page 10: Spark GraphXについて @Spark Meetup 2014/9/8

• GraphXの日本語訳ドキュメント

https://gist.github.com/ironpeace/9306874

https://www.flickr.com/photos/exalthim/337922734

Page 11: Spark GraphXについて @Spark Meetup 2014/9/8

• グラフビジュアルツール

https://github.com/ironpeace/graph-web

https://www.flickr.com/photos/exalthim/337922734

Page 12: Spark GraphXについて @Spark Meetup 2014/9/8

Sca laエンジニアは有利

• ScalaのCollection APIに似たAPIでグラフデータを扱うことができる

• 頻出する再帰処理の実装がし易い

• 関数の実装がし易い

https://www.flickr.com/photos/exalthim/337922734

Page 13: Spark GraphXについて @Spark Meetup 2014/9/8

Other Graph-para l le l Computat ion System

https://www.flickr.com/photos/exalthim/337922734

G i r a p h G r a p h L a b G r a p h X

S p e e d S l o w Ve r y F a s t F a s t

N e w S t a b l e N e w N e w

L a n g J a v a P y t h o n S c a l a ( P y t h o n / J a v a )

E T L D i f f i c u l t E a s y E a s y

L i b N O Ve r y G o o d F e w

Page 14: Spark GraphXについて @Spark Meetup 2014/9/8

GraphX はブルーオーシャン!

• GraphXはグラフ構造データの並列分散処理機構として優れている

• グラフ構造データを扱えるようになることでこれまで実現できなかったことができるようになる

• GraphX はまだ未熟

• Scalaエンジニアはグラフデータの扱いに優位!

https://www.flickr.com/photos/exalthim/337922734

Page 15: Spark GraphXについて @Spark Meetup 2014/9/8

Spark-JobServer

• “Spark as a Service”

• SparkのjobとcontextのREST APIを提供

• いかなる環境・言語からもSparkを扱うことが可能

• Job間でひとつのcontextを共有

• Job間でキャッシュされたRDDを共有

• 同期/非同期API。JOB結果をJSON応答。

https://www.flickr.com/photos/exalthim/337922734

Page 16: Spark GraphXについて @Spark Meetup 2014/9/8

https://www.flickr.com/photos/exalthim/337922734

Spark-JobServer

context

Cached RDD

JOB

JOB

JOB

Spark

Web AP ServerWeb Client

Web Client

Web Client

REST API

REST API

REST API

Page 17: Spark GraphXについて @Spark Meetup 2014/9/8

Get the Graph Power!Thank you !

@teppei_tosahttps://www.flickr.com/photos/exalthim/337922734