Submit Search
Spark GraphX で始めるグラフ解析
Download as PPTX, PDF
5 likes
2,994 views
Yosuke Mizutani
Ichigaya Geek Night Lightning Talk (2016-12-21)
Technology
Read more
1 of 17
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
More Related Content
PPTX
初めてのSpark streaming 〜kafka+sparkstreamingの紹介〜
Tanaka Yuichi
PDF
Sparkを用いたビッグデータ解析 〜 前編 〜
x1 ichi
PDF
Spark Streaming と Spark GraphX を使用したTwitter解析による レコメンドサービス例
Junichi Noda
PPTX
Spark Streamingを使ってみた ~Twitterリアルタイムトレンドランキング~
sugiyama koki
PDF
QConTokyo2015「Sparkを用いたビッグデータ解析 〜後編〜」
Kazuki Taniguchi
PDF
Spark Streamingで作る、つぶやきビッグデータのクローン(Hadoop Spark Conference Japan 2016版)
Junichi Noda
PPTX
Bluemixを使ったTwitter分析
Tanaka Yuichi
PPTX
Big datauniversity
Tanaka Yuichi
初めてのSpark streaming 〜kafka+sparkstreamingの紹介〜
Tanaka Yuichi
Sparkを用いたビッグデータ解析 〜 前編 〜
x1 ichi
Spark Streaming と Spark GraphX を使用したTwitter解析による レコメンドサービス例
Junichi Noda
Spark Streamingを使ってみた ~Twitterリアルタイムトレンドランキング~
sugiyama koki
QConTokyo2015「Sparkを用いたビッグデータ解析 〜後編〜」
Kazuki Taniguchi
Spark Streamingで作る、つぶやきビッグデータのクローン(Hadoop Spark Conference Japan 2016版)
Junichi Noda
Bluemixを使ったTwitter分析
Tanaka Yuichi
Big datauniversity
Tanaka Yuichi
What's hot
(20)
PDF
20160127三木会 RDB経験者のためのspark
Ryuji Tamagawa
PPTX
PythonでDeepLearningを始めるよ
Tanaka Yuichi
PPTX
Apache Sparkを使った感情極性分析
Tanaka Yuichi
PPSX
HBaseとSparkでセンサーデータを有効活用 #hbasejp
FwardNetwork
PPTX
Watson summit 2016_j2_5
Tanaka Yuichi
PDF
本当にあったApache Spark障害の話
x1 ichi
PPTX
SparkとJupyterNotebookを使った分析処理 [Html5 conference]
Tanaka Yuichi
PDF
20151205 Japan.R SparkRとParquet
Ryuji Tamagawa
PPTX
Pythonで入門するApache Spark at PyCon2016
Tatsuya Atsumi
PPTX
BigDataUnivercity 2017年改めてApache Sparkとデータサイエンスの関係についてのまとめ
Tanaka Yuichi
PDF
Apache Sparkの紹介
Ryuji Tamagawa
PDF
Spark Summit 2015 参加報告
Katsunori Kanda
PPTX
Devsumi 2016 b_4 KafkaとSparkを組み合わせたリアルタイム分析基盤の構築
Tanaka Yuichi
PDF
データ分析に必要なスキルをつけるためのツール~Jupyter notebook、r連携、機械学習からsparkまで~
The Japan DataScientist Society
PDF
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
NTT DATA OSS Professional Services
PDF
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-
LINE Corp.
PDF
Spark Streamingを活用したシステムの検証結果と設計時のノウハウ
Future Of Data Japan
PDF
16.02.08_Hadoop Conferece Japan 2016_データサイエンスにおける一次可視化からのSpark on Elasticsear...
LINE Corp.
PPTX
ApacheSparkを中心としたOSSビッグデータ活用と導入時の検討ポイント
Tanaka Yuichi
PDF
Sparkによる GISデータを題材とした時系列データ処理 (Hadoop / Spark Conference Japan 2016 講演資料)
Hadoop / Spark Conference Japan
20160127三木会 RDB経験者のためのspark
Ryuji Tamagawa
PythonでDeepLearningを始めるよ
Tanaka Yuichi
Apache Sparkを使った感情極性分析
Tanaka Yuichi
HBaseとSparkでセンサーデータを有効活用 #hbasejp
FwardNetwork
Watson summit 2016_j2_5
Tanaka Yuichi
本当にあったApache Spark障害の話
x1 ichi
SparkとJupyterNotebookを使った分析処理 [Html5 conference]
Tanaka Yuichi
20151205 Japan.R SparkRとParquet
Ryuji Tamagawa
Pythonで入門するApache Spark at PyCon2016
Tatsuya Atsumi
BigDataUnivercity 2017年改めてApache Sparkとデータサイエンスの関係についてのまとめ
Tanaka Yuichi
Apache Sparkの紹介
Ryuji Tamagawa
Spark Summit 2015 参加報告
Katsunori Kanda
Devsumi 2016 b_4 KafkaとSparkを組み合わせたリアルタイム分析基盤の構築
Tanaka Yuichi
データ分析に必要なスキルをつけるためのツール~Jupyter notebook、r連携、機械学習からsparkまで~
The Japan DataScientist Society
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
NTT DATA OSS Professional Services
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-
LINE Corp.
Spark Streamingを活用したシステムの検証結果と設計時のノウハウ
Future Of Data Japan
16.02.08_Hadoop Conferece Japan 2016_データサイエンスにおける一次可視化からのSpark on Elasticsear...
LINE Corp.
ApacheSparkを中心としたOSSビッグデータ活用と導入時の検討ポイント
Tanaka Yuichi
Sparkによる GISデータを題材とした時系列データ処理 (Hadoop / Spark Conference Japan 2016 講演資料)
Hadoop / Spark Conference Japan
Ad
Similar to Spark GraphX で始めるグラフ解析
(12)
PDF
Spark GraphXについて @Spark Meetup 2014/9/8
鉄平 土佐
PDF
GraphXはScalaエンジニアにとってのブルーオーシャン @ Scala Matsuri 2014
鉄平 土佐
PDF
NetworkXによる語彙ネットワークの可視化
Shintaro Takemura
PDF
Sparkで始めるお手軽グラフデータ分析
Nagato Kasaki
PDF
GraphX によるグラフ分析処理の実例と入門
鉄平 土佐
PDF
Pythonで簡単ネットワーク分析
antibayesian 俺がS式だ
PPTX
フレームワークを求めるな。ECMAScriptを使へ。
Sachirou Inoue
PPTX
グラフデータからの分析アプローチ
Yuki Tagami
PDF
Spark GraphFrames のススメ
Nagato Kasaki
PDF
グラフデータ分析 入門編
順也 山口
PPTX
Introduction of network analysis with Google Colaboratory -- Example of Netwo...
tm1966
PPTX
Network analysis and visualization by Google Colaboratory
tm1966
Spark GraphXについて @Spark Meetup 2014/9/8
鉄平 土佐
GraphXはScalaエンジニアにとってのブルーオーシャン @ Scala Matsuri 2014
鉄平 土佐
NetworkXによる語彙ネットワークの可視化
Shintaro Takemura
Sparkで始めるお手軽グラフデータ分析
Nagato Kasaki
GraphX によるグラフ分析処理の実例と入門
鉄平 土佐
Pythonで簡単ネットワーク分析
antibayesian 俺がS式だ
フレームワークを求めるな。ECMAScriptを使へ。
Sachirou Inoue
グラフデータからの分析アプローチ
Yuki Tagami
Spark GraphFrames のススメ
Nagato Kasaki
グラフデータ分析 入門編
順也 山口
Introduction of network analysis with Google Colaboratory -- Example of Netwo...
tm1966
Network analysis and visualization by Google Colaboratory
tm1966
Ad
More from Yosuke Mizutani
(6)
PDF
Introduction to Graph Theory
Yosuke Mizutani
PDF
フロントエンド初心者の大学生が Scala.js で Web アプリを作ってみた話
Yosuke Mizutani
PDF
はじめての CircleCI
Yosuke Mizutani
PDF
Adtech x Scala x Performance tuning
Yosuke Mizutani
PDF
ScalaにまつわるNewsな話
Yosuke Mizutani
PDF
アドテク×Scala×パフォーマンスチューニング
Yosuke Mizutani
Introduction to Graph Theory
Yosuke Mizutani
フロントエンド初心者の大学生が Scala.js で Web アプリを作ってみた話
Yosuke Mizutani
はじめての CircleCI
Yosuke Mizutani
Adtech x Scala x Performance tuning
Yosuke Mizutani
ScalaにまつわるNewsな話
Yosuke Mizutani
アドテク×Scala×パフォーマンスチューニング
Yosuke Mizutani
Spark GraphX で始めるグラフ解析
1.
Spark GraphX で始めるグラフ解析 市ヶ谷Geek★Night#11 Lightning
Talk 2016-12-21 @mogproject
2.
About me http://mogproject.com
3.
Spark GraphX Apache Spark
GraphX とは ▸Spark に標準で組み込まれているグラフ処理 API ▸Spark クラスタ = データストア / 計算資源 ▸大規模グラフを扱いやすい
4.
Spark GraphX 今回お話しする「グラフ」は・・・
5.
Why GraphX? 実用例 ▸大規模グラフの分析プロジェクト (論文の共著者関係分析) ▸ノード数:
500万〜 エッジ数: 9000万〜 ▸最初は Python製 の NetworkX を使っていた ▸グラフが大きくなるにつれ、メモリ不足が発生 ▸Scala / Spark に慣れているなら手軽に利用可能
6.
Why GraphX? 実用例: (無向)グラフの中心性計算 ▸次数中心性 ▸次数
= 各ノードに接続しているエッジの数 ▸直接的なつながりの多いノードを発見できる ▸媒介中心性 ▸全てのノードの組に対して最短経路を求める ▸より多くの組の最短経路上に位置するノードを計算
7.
コード例 build.sbt ▸"spark-graphx" への依存を追加 ▸Scala 2.12
には未対応 scalaVersion := "2.11.8" libraryDependencies ++= Seq( "org.apache.spark" %% "spark-core" % "2.0.2", "org.apache.spark" %% "spark-graphx" % "2.0.2" ) build.sbt
8.
コード例 グラフデータの読み込み ▸エッジリストからグラフを生成する例 0 1 0 2 1
2 1 3 3 4 4 5 4 6 5 6 edge_list_1.txt
9.
コード例 グラフデータの読み込み ▸GraphLoader のメソッドを利用する import org.apache.spark._ import
org.apache.spark.graphx._ val conf = new SparkConf().setMaster(s"local[2]") val sc = new SparkContext(conf) val g: Graph[Int, Int] = GraphLoader.edgeListFile(sc, "path/to/edge_list.txt") Main.scala
10.
コード例 次数中心性の計算 ▸Graph#degrees を呼び出すだけ g.degrees.sortByKey().collect().foreach {
case (n, v) => println(s"Node: ${n} -> Degree: ${v}") } Node: 0 -> Degree: 2 Node: 1 -> Degree: 3 Node: 2 -> Degree: 2 Node: 3 -> Degree: 2 Node: 4 -> Degree: 3 Node: 5 -> Degree: 2 Node: 6 -> Degree: 2 Main.scala 出力例
11.
コード例 次数中心性の計算 3 2 3 2 2 2 2
12.
コード例 媒介中心性の計算 ▸なかなか大変 (説明省略)
13.
コード例 媒介中心性の計算 ▸実行結果 Node: 0 ->
Betweenness: 0.0 Node: 1 -> Betweenness: 8.0 Node: 2 -> Betweenness: 0.0 Node: 3 -> Betweenness: 9.0 Node: 4 -> Betweenness: 8.0 Node: 5 -> Betweenness: 0.0 Node: 6 -> Betweenness: 0.0 出力例
14.
コード例 媒介中心性の計算 8 0 8 0 9 0 0
15.
後日談 性能面の課題 ▸グラフ操作の種類 (アルゴリズム) によって得手不得手があ る ▸Spark
ノード間の通信コスト ▸Spark の UI でモニタリングしつつチューニングを繰り返す
16.
後日談 C++ で実装し直した ▸とある処理の所要時間: 854日
(GraphX) -> 15日 (C++) 60 倍 高速化!
17.
Thanks! ご清聴ありがとうございました ▸コード例はこちら ▸https://github.com/mogproject/example-graphx クリスマスに働く人のイラスト ©︎いらすとや
Editor's Notes
#3:
昨年まで市ヶ谷で Scala エンジニア 今年からアメリカに留学、人生ニューゲーム、スーパーマリオラン
#5:
点と線で表現されるデータ構造 関係性の分析に適している 点をノード、線をエッジと呼ぶ
#9:
ダンベル型のグラフ
#15:
3番のノードは、次数は低いのものの、媒介中心性が高い
Download