Upload
-
View
1.524
Download
0
Embed Size (px)
DESCRIPTION
GraphXはScalaエンジニアにとってのブルーオーシャン @ Scala Matsuri 2014
Citation preview
GraphXは Sca laエンジニアにとっての ブルーオーシャン
Scala Matsuri 2014 LT
@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 VAL
1 1 0
2 2 0
3 3 0
SRC TGT VAL1 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
My work about GraphX
• GraphXの日本語訳ドキュメント
• https://gist.github.com/ironpeace/9306874
• グラフビジュアルツール
• 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
GraphX はブルーオーシャン!
• GraphXはグラフ構造データの並列分散処理機構として優れている
• グラフ構造データを扱えるようになることでこれまで実現できなかったことができるようになる
• GraphX はまだ未熟
• Scalaエンジニアはグラフデータの扱いに優位!
https://www.flickr.com/photos/exalthim/337922734
Get the Graph Power!Thank you !
@teppei_tosahttps://www.flickr.com/photos/exalthim/337922734