aboutsummaryrefslogtreecommitdiff
path: root/graphx
diff options
context:
space:
mode:
Diffstat (limited to 'graphx')
-rw-r--r--graphx/src/main/scala/org/apache/spark/graphx/lib/PageRank.scala7
1 files changed, 7 insertions, 0 deletions
diff --git a/graphx/src/main/scala/org/apache/spark/graphx/lib/PageRank.scala b/graphx/src/main/scala/org/apache/spark/graphx/lib/PageRank.scala
index f4b00757a8..c0c3c73463 100644
--- a/graphx/src/main/scala/org/apache/spark/graphx/lib/PageRank.scala
+++ b/graphx/src/main/scala/org/apache/spark/graphx/lib/PageRank.scala
@@ -185,6 +185,13 @@ object PageRank extends Logging {
def runParallelPersonalizedPageRank[VD: ClassTag, ED: ClassTag](graph: Graph[VD, ED],
numIter: Int, resetProb: Double = 0.15,
sources: Array[VertexId]): Graph[Vector, Double] = {
+ require(numIter > 0, s"Number of iterations must be greater than 0," +
+ s" but got ${numIter}")
+ require(resetProb >= 0 && resetProb <= 1, s"Random reset probability must belong" +
+ s" to [0, 1], but got ${resetProb}")
+ require(sources.nonEmpty, s"The list of sources must be non-empty," +
+ s" but got ${sources.mkString("[", ",", "]")}")
+
// TODO if one sources vertex id is outside of the int range
// we won't be able to store its activations in a sparse vector
val zero = Vectors.sparse(sources.size, List()).asBreeze