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

Post on 05-Jul-2015

485 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

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

Spark Meetup at 2014/09/08

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

@ 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

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

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

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

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

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

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

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

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

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

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

Social Network Train Network Data Network

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

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

Eveluate Vertex Clustering Graph Shape

Flow on Graph Predict Link

GraphX は まだまだ未成熟

• Web上の情報少ない

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

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

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

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

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

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

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

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

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

Sca laエンジニアは有利

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

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

• 関数の実装がし易い

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

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

GraphX はブルーオーシャン!

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

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

• GraphX はまだ未熟

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

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

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

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

Get the Graph Power!Thank you !

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

top related