2014.06.24.graph support

18
Graph Support by Alexander Albul | UBIX | UBIX.IO

description

overview and discussion of graphx integration into Ubix.

Transcript of 2014.06.24.graph support

Page 1: 2014.06.24.graph support

Graph Support by Alexander Albul

| UBIX |

UBIX.IO

Page 2: 2014.06.24.graph support

Architecture

UBIX.IO

+ +

Page 3: 2014.06.24.graph support

Idea

UBIX.IO

Page 4: 2014.06.24.graph support

Phase one: Denial and Isolation

UBIX.IO

Page 5: 2014.06.24.graph support

Possible problems

UBIX.IO

●  Our engine did not support it. ●  How to construct graphs? ●  What to do with commands?

Page 6: 2014.06.24.graph support

Problem #1. Engine

UBIX.IO

Page 7: 2014.06.24.graph support

Problem #1. New Engine

UBIX.IO

Page 8: 2014.06.24.graph support

Problem #2. Graph construction

UBIX.IO

Page 9: 2014.06.24.graph support

Problem #2. Graph construction

UBIX.IO

Page 10: 2014.06.24.graph support

Problem #2. Graph construction

UBIX.IO

val context = new SparkContext("local", "graphx app") val verticesRdd = context.textFile("vertices.csv").map { case line => val lineSplit = line.split(",") lineSplit.head.toLong -> lineSplit.last } val edgesRdd = context.textFile("edges.csv").map { case line => val lineSplit = line.split(",") val fromId = lineSplit.head.toLong val toId = lineSplit.tail.head.toLong val attribute = lineSplit.last Edge(fromId, toId, attribute) } val graph = Graph(verticesRdd, edgesRdd) println(graph.numVertices)

Page 11: 2014.06.24.graph support

Problem #2. Graph construction

UBIX.IO

●  Extract data from raw file ●  Transform to GraphX format ●  Build Graph

Page 12: 2014.06.24.graph support

Problem #2. Graph construction

UBIX.IO

Page 13: 2014.06.24.graph support

Problem #2. Graph construction

UBIX.IO

Page 14: 2014.06.24.graph support

Problem #2. Graph construction

UBIX.IO

Page 15: 2014.06.24.graph support

Problem #3. Graph commands

UBIX.IO

Can i use graphs now?

Page 16: 2014.06.24.graph support

Problem #3. Implicit type conversion

UBIX.IO

Page 17: 2014.06.24.graph support

Problem #3. Graph to table

UBIX.IO

…. val graph = Graph(verticesRdd, edgesRdd) val table = graph.triplets.map { case triplet => triplet.srcId :: triplet.srcAttr :: triplet.dstId :: triplet.dstAttr :: triplet.attr :: Nil } table.foreach(println)

Page 18: 2014.06.24.graph support

Q & A

UBIX.IO