Packages

c

org.apache.spark

SparkConf

class SparkConf extends Cloneable with Logging with Serializable

Configuration for a Spark application. Used to set various Spark parameters as key-value pairs.

Most of the time, you would create a SparkConf object with new SparkConf(), which will load values from any spark.* Java system properties set in your application as well. In this case, parameters you set directly on the SparkConf object take priority over system properties.

For unit tests, you can also call new SparkConf(false) to skip loading external settings and get the same configuration no matter what the system properties are.

All setter methods in this class support chaining. For example, you can write new SparkConf().setMaster("local").setAppName("My app").

Source
SparkConf.scala
Note

Once a SparkConf object is passed to Spark, it is cloned and can no longer be modified by the user. Spark does not support modifying the configuration at runtime.

Linear Supertypes
Serializable, Serializable, Logging, Cloneable, Cloneable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SparkConf
  2. Serializable
  3. Serializable
  4. Logging
  5. Cloneable
  6. Cloneable
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new SparkConf()

    Create a SparkConf that loads defaults from system properties and the classpath

  2. new SparkConf(loadDefaults: Boolean)

    loadDefaults

    whether to also load values from Java system properties

Value Members

  1. def clone(): SparkConf

    Copy this object

    Copy this object

    Definition Classes
    SparkConf → AnyRef
  2. def contains(key: String): Boolean

    Does the configuration contain a given parameter?

  3. def get(key: String, defaultValue: String): String

    Get a parameter, falling back to a default if not set

  4. def get(key: String): String

    Get a parameter; throws a NoSuchElementException if it's not set

  5. def getAll: Array[(String, String)]

    Get all parameters as a list of pairs

  6. def getAllWithPrefix(prefix: String): Array[(String, String)]

    Get all parameters that start with prefix

  7. def getAppId: String

    Returns the Spark application id, valid in the Driver after TaskScheduler registration and from the start in the Executor.

  8. def getAvroSchema: Map[Long, String]

    Gets all the avro schemas in the configuration used in the generic Avro record serializer

  9. def getBoolean(key: String, defaultValue: Boolean): Boolean

    Get a parameter as a boolean, falling back to a default if not set

    Get a parameter as a boolean, falling back to a default if not set

    Exceptions thrown

    IllegalArgumentException If the value cannot be interpreted as a boolean

  10. def getDouble(key: String, defaultValue: Double): Double

    Get a parameter as a double, falling back to a default if not ste

    Get a parameter as a double, falling back to a default if not ste

    Exceptions thrown

    NumberFormatException If the value cannot be interpreted as a double

  11. def getExecutorEnv: Seq[(String, String)]

    Get all executor environment variables set on this SparkConf

  12. def getInt(key: String, defaultValue: Int): Int

    Get a parameter as an integer, falling back to a default if not set

    Get a parameter as an integer, falling back to a default if not set

    Exceptions thrown

    NumberFormatException If the value cannot be interpreted as an integer

  13. def getLong(key: String, defaultValue: Long): Long

    Get a parameter as a long, falling back to a default if not set

    Get a parameter as a long, falling back to a default if not set

    Exceptions thrown

    NumberFormatException If the value cannot be interpreted as a long

  14. def getOption(key: String): Option[String]

    Get a parameter as an Option

  15. def getSizeAsBytes(key: String, defaultValue: Long): Long

    Get a size parameter as bytes, falling back to a default if not set.

    Get a size parameter as bytes, falling back to a default if not set.

    Exceptions thrown

    NumberFormatException If the value cannot be interpreted as bytes

  16. def getSizeAsBytes(key: String, defaultValue: String): Long

    Get a size parameter as bytes, falling back to a default if not set.

    Get a size parameter as bytes, falling back to a default if not set. If no suffix is provided then bytes are assumed.

    Exceptions thrown

    NumberFormatException If the value cannot be interpreted as bytes

  17. def getSizeAsBytes(key: String): Long

    Get a size parameter as bytes; throws a NoSuchElementException if it's not set.

    Get a size parameter as bytes; throws a NoSuchElementException if it's not set. If no suffix is provided then bytes are assumed.

    Exceptions thrown

    NumberFormatException If the value cannot be interpreted as bytes

    java.util.NoSuchElementException If the size parameter is not set

  18. def getSizeAsGb(key: String, defaultValue: String): Long

    Get a size parameter as Gibibytes, falling back to a default if not set.

    Get a size parameter as Gibibytes, falling back to a default if not set. If no suffix is provided then Gibibytes are assumed.

    Exceptions thrown

    NumberFormatException If the value cannot be interpreted as Gibibytes

  19. def getSizeAsGb(key: String): Long

    Get a size parameter as Gibibytes; throws a NoSuchElementException if it's not set.

    Get a size parameter as Gibibytes; throws a NoSuchElementException if it's not set. If no suffix is provided then Gibibytes are assumed.

    Exceptions thrown

    NumberFormatException If the value cannot be interpreted as Gibibytes

    java.util.NoSuchElementException If the size parameter is not set

  20. def getSizeAsKb(key: String, defaultValue: String): Long

    Get a size parameter as Kibibytes, falling back to a default if not set.

    Get a size parameter as Kibibytes, falling back to a default if not set. If no suffix is provided then Kibibytes are assumed.

    Exceptions thrown

    NumberFormatException If the value cannot be interpreted as Kibibytes

  21. def getSizeAsKb(key: String): Long

    Get a size parameter as Kibibytes; throws a NoSuchElementException if it's not set.

    Get a size parameter as Kibibytes; throws a NoSuchElementException if it's not set. If no suffix is provided then Kibibytes are assumed.

    Exceptions thrown

    NumberFormatException If the value cannot be interpreted as Kibibytes

    java.util.NoSuchElementException If the size parameter is not set

  22. def getSizeAsMb(key: String, defaultValue: String): Long

    Get a size parameter as Mebibytes, falling back to a default if not set.

    Get a size parameter as Mebibytes, falling back to a default if not set. If no suffix is provided then Mebibytes are assumed.

    Exceptions thrown

    NumberFormatException If the value cannot be interpreted as Mebibytes

  23. def getSizeAsMb(key: String): Long

    Get a size parameter as Mebibytes; throws a NoSuchElementException if it's not set.

    Get a size parameter as Mebibytes; throws a NoSuchElementException if it's not set. If no suffix is provided then Mebibytes are assumed.

    Exceptions thrown

    NumberFormatException If the value cannot be interpreted as Mebibytes

    java.util.NoSuchElementException If the size parameter is not set

  24. def getTimeAsMs(key: String, defaultValue: String): Long

    Get a time parameter as milliseconds, falling back to a default if not set.

    Get a time parameter as milliseconds, falling back to a default if not set. If no suffix is provided then milliseconds are assumed.

    Exceptions thrown

    NumberFormatException If the value cannot be interpreted as milliseconds

  25. def getTimeAsMs(key: String): Long

    Get a time parameter as milliseconds; throws a NoSuchElementException if it's not set.

    Get a time parameter as milliseconds; throws a NoSuchElementException if it's not set. If no suffix is provided then milliseconds are assumed.

    Exceptions thrown

    NumberFormatException If the value cannot be interpreted as milliseconds

    java.util.NoSuchElementException If the time parameter is not set

  26. def getTimeAsSeconds(key: String, defaultValue: String): Long

    Get a time parameter as seconds, falling back to a default if not set.

    Get a time parameter as seconds, falling back to a default if not set. If no suffix is provided then seconds are assumed.

    Exceptions thrown

    NumberFormatException If the value cannot be interpreted as seconds

  27. def getTimeAsSeconds(key: String): Long

    Get a time parameter as seconds; throws a NoSuchElementException if it's not set.

    Get a time parameter as seconds; throws a NoSuchElementException if it's not set. If no suffix is provided then seconds are assumed.

    Exceptions thrown

    NumberFormatException If the value cannot be interpreted as seconds

    java.util.NoSuchElementException If the time parameter is not set

  28. def registerAvroSchemas(schemas: Schema*): SparkConf

    Use Kryo serialization and register the given set of Avro schemas so that the generic record serializer can decrease network IO

  29. def registerKryoClasses(classes: Array[Class[_]]): SparkConf

    Use Kryo serialization and register the given set of classes with Kryo.

    Use Kryo serialization and register the given set of classes with Kryo. If called multiple times, this will append the classes from all calls together.

  30. def remove(key: String): SparkConf

    Remove a parameter from the configuration

  31. def set(key: String, value: String): SparkConf

    Set a configuration variable.

  32. def setAll(settings: Iterable[(String, String)]): SparkConf

    Set multiple parameters together

  33. def setAppName(name: String): SparkConf

    Set a name for your application.

    Set a name for your application. Shown in the Spark web UI.

  34. def setExecutorEnv(variables: Array[(String, String)]): SparkConf

    Set multiple environment variables to be used when launching executors.

    Set multiple environment variables to be used when launching executors. (Java-friendly version.)

  35. def setExecutorEnv(variables: Seq[(String, String)]): SparkConf

    Set multiple environment variables to be used when launching executors.

    Set multiple environment variables to be used when launching executors. These variables are stored as properties of the form spark.executorEnv.VAR_NAME (for example spark.executorEnv.PATH) but this method makes them easier to set.

  36. def setExecutorEnv(variable: String, value: String): SparkConf

    Set an environment variable to be used when launching executors for this application.

    Set an environment variable to be used when launching executors for this application. These variables are stored as properties of the form spark.executorEnv.VAR_NAME (for example spark.executorEnv.PATH) but this method makes them easier to set.

  37. def setIfMissing(key: String, value: String): SparkConf

    Set a parameter if it isn't already configured

  38. def setJars(jars: Array[String]): SparkConf

    Set JAR files to distribute to the cluster.

    Set JAR files to distribute to the cluster. (Java-friendly version.)

  39. def setJars(jars: Seq[String]): SparkConf

    Set JAR files to distribute to the cluster.

  40. def setMaster(master: String): SparkConf

    The master URL to connect to, such as "local" to run locally with one thread, "local[4]" to run locally with 4 cores, or "spark://master:7077" to run on a Spark standalone cluster.

  41. def setSparkHome(home: String): SparkConf

    Set the location where Spark is installed on worker nodes.

  42. def toDebugString: String

    Return a string listing all keys and values, one per line.

    Return a string listing all keys and values, one per line. This is useful to print the configuration out for debugging.