aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephen Haberman <stephen@exigencecorp.com>2013-01-28 23:56:56 -0600
committerStephen Haberman <stephen@exigencecorp.com>2013-01-28 23:56:56 -0600
commitb45857c965219e2d26f35adb2ea3a2b831fdb77f (patch)
treec13f82ea759585a04595c045c808daf5fa99a645
parentf03d9760fd8ac67fd0865cb355ba75d2eff507fe (diff)
downloadspark-b45857c965219e2d26f35adb2ea3a2b831fdb77f.tar.gz
spark-b45857c965219e2d26f35adb2ea3a2b831fdb77f.tar.bz2
spark-b45857c965219e2d26f35adb2ea3a2b831fdb77f.zip
Add RDD.toDebugString.
Original idea by Nathan Kronenfeld.
-rw-r--r--core/src/main/scala/spark/RDD.scala10
1 files changed, 10 insertions, 0 deletions
diff --git a/core/src/main/scala/spark/RDD.scala b/core/src/main/scala/spark/RDD.scala
index 0d3857f9dd..172431c31a 100644
--- a/core/src/main/scala/spark/RDD.scala
+++ b/core/src/main/scala/spark/RDD.scala
@@ -638,4 +638,14 @@ abstract class RDD[T: ClassManifest](
protected[spark] def clearDependencies() {
dependencies_ = null
}
+
+ /** A description of this RDD and its recursive dependencies for debugging. */
+ def toDebugString(): String = {
+ def debugString(rdd: RDD[_], prefix: String = ""): Seq[String] = {
+ Seq(prefix + rdd) ++ rdd.dependencies.flatMap(d => debugString(d.rdd, prefix + " "))
+ }
+ debugString(this).mkString("\n")
+ }
+
+ override def toString() = "%s[%d] at %s".format(getClass.getSimpleName, id, origin)
}