case classVariation[T](name: String, options: Seq[T])(setup: (T) ⇒ Unit) extends Product with Serializable
A Variation represents a setting (e.g. the number of shuffle partitions or if tables
are cached in memory) that we want to change in a experiment run.
A Variation has three parts, name, options, and setup.
The name is the identifier of a Variation. options is a Seq of options that
will be used for a query. Basically, a query will be executed with every option
defined in the list of options. setup defines the needed action for every
option. For example, the following Variation is used to change the number of shuffle
partitions of a query. The name of the Variation is "shufflePartitions". There are
two options, 200 and 2000. The setup is used to set the value of property
"spark.sql.shuffle.partitions".
Variation("shufflePartitions", Seq("200", "2000")) {
case num => sqlContext.setConf("spark.sql.shuffle.partitions", num)
}
Linear Supertypes
Serializable, Serializable, Product, Equals, AnyRef, Any
A Variation represents a setting (e.g. the number of shuffle partitions or if tables are cached in memory) that we want to change in a experiment run. A Variation has three parts,
name
,options
, andsetup
. Thename
is the identifier of a Variation.options
is a Seq of options that will be used for a query. Basically, a query will be executed with every option defined in the list ofoptions
.setup
defines the needed action for every option. For example, the following Variation is used to change the number of shuffle partitions of a query. The name of the Variation is "shufflePartitions". There are two options, 200 and 2000. The setup is used to set the value of property "spark.sql.shuffle.partitions".