Thank you Robin for your reply.
Actually I am adding bunch of vertices in a graph in graphx using the following
method . I am facing the problem of latency. First time an addition of say 400
vertices to a graph with 100,000 nodes takes around 7 seconds. next time its
taking 15 seconds. So every subsequent adds are taking more time than the
previous one. Hence I tried to do reindex() so the subsequent operations can
also be performed fast.
FYI My cluster is presently having one machine with 8 core and 8 gb ram. I am
running in local mode.
def addVertex(rdd: RDD[String], sc: SparkContext, session: String): Long = {
val defaultUser = (0, 0)
rdd.collect().foreach { x =>
{
val aVertex: RDD[(VertexId, (Int, Int))] =
sc.parallelize(Array((x.toLong, (100, 100))))
gVertices = gVertices.union(aVertex)
}
}
inputGraph = Graph(gVertices, gEdges, defaultUser)
inputGraph.cache()
gVertices = inputGraph.vertices
gVertices.cache()
val count = gVertices.count
println(count);
return 1;
}
From: Robin East [mailto:robin.e...@xense.co.uk]
Sent: Tuesday, February 23, 2016 8:15 PM
To: Udbhav Agarwal <udbhav.agar...@syncoms.com>
Subject: Re: Reindexing in graphx
Hi
Well this is the line that is failing in VertexRDDImpl:
require(partitionsRDD.partitioner.isDefined)
But really you shouldn’t need to be calling the reindex() function as it deals
with some internals of the GraphX implementation - it looks to me like it ought
to be a private method. Perhaps you could explain what you are trying to
achieve.
-------------------------------------------------------------------------------
Robin East
Spark GraphX in Action Michael Malak and Robin East
Manning Publications Co.
http://www.manning.com/books/spark-graphx-in-action
On 23 Feb 2016, at 12:18, Udbhav Agarwal
<udbhav.agar...@syncoms.com<mailto:udbhav.agar...@syncoms.com>> wrote:
Hi,
I am trying to add vertices to a graph in graphx and I want to do reindexing in
the graph. I can see there is an option of vertices.reindex() in graphX. But
when I am doing graph.vertices.reindex() am getting
Java.lang.IllegalArgumentException: requirement failed.
Please help me know what I am missing with the syntax as I have seen the API
documentation where only vertices.reindex() is mentioned.
Thanks,
Udbhav Agarwal