@@ -885,16 +955,15 @@ the [`Graph.partitionBy`][Graph.partitionBy] operator.
...
@@ -885,16 +955,15 @@ the [`Graph.partitionBy`][Graph.partitionBy] operator.
Once the edges have be partitioned the key challenge to efficient graph-parallel computation is
Once the edges have be partitioned the key challenge to efficient graph-parallel computation is
efficiently joining vertex attributes with the edges. Because real-world graphs typically have more
efficiently joining vertex attributes with the edges. Because real-world graphs typically have more
edges than vertices, we move vertex attributes to the edges.
edges than vertices, we move vertex attributes to the edges. Because not all partitions will
contain edges adjacent to all vertices we internally maintain a routing table which identifies where
to broadcast vertices when implementing the join required for operations like `triplets` and
`mapReduceTriplets`.
# Graph Algorithms
# Graph Algorithms
<aname="graph_algorithms"></a>
<aname="graph_algorithms"></a>
GraphX includes a set of graph algorithms in to simplify analytics. The algorithms are contained in the `org.apache.spark.graphx.lib` package and can be accessed directly as methods on `Graph` via [`GraphOps`][GraphOps]. This section describes the algorithms and how they are used.
GraphX includes a set of graph algorithms to simplify analytics tasks. The algorithms are contained in the `org.apache.spark.graphx.lib` package and can be accessed directly as methods on `Graph` via [`GraphOps`][GraphOps]. This section describes the algorithms and how they are used.