Skip to content

Latest commit

 

History

History
27 lines (19 loc) · 903 Bytes

spark-tips-and-tricks-access-private-members-spark-shell.adoc

File metadata and controls

27 lines (19 loc) · 903 Bytes

Access private members in Scala in Spark shell

If you ever wanted to use private[spark] members in Spark using the Scala programming language, e.g. toy with org.apache.spark.scheduler.DAGScheduler or similar, you will have to use the following trick in Spark shell - use :paste -raw as described in REPL: support for package definition.

Open spark-shell and execute :paste -raw that allows you to enter any valid Scala code, including package.

The following snippet shows how to access private[spark] member DAGScheduler.RESUBMIT_TIMEOUT:

scala> :paste -raw
// Entering paste mode (ctrl-D to finish)

package org.apache.spark

object spark {
  def test = {
    import org.apache.spark.scheduler._
    println(DAGScheduler.RESUBMIT_TIMEOUT == 200)
  }
}

scala> spark.test
true

scala> sc.version
res0: String = 1.6.0-SNAPSHOT