Object/Class

com.alpine.plugin.core.spark

AutoTunerOptions

Related Docs: class AutoTunerOptions | package spark

Permalink

object AutoTunerOptions extends Serializable

Linear Supertypes
Serializable, Serializable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. AutoTunerOptions
  2. Serializable
  3. Serializable
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def apply(driverMemoryFraction: Double, inputCachedSizeMultiplier: Double): AutoTunerOptions

    Permalink

    Same as above but sets min executor memory to zero.

    Same as above but sets min executor memory to zero. In this case it will be overridden by the alpine conf.

  5. def apply(driverMemoryFraction: Double, inputCachedSizeMultiplier: Double, minExecutorMemory: Long): AutoTunerOptions

    Permalink

    Create a simple version of the AutoTuner options.

    Create a simple version of the AutoTuner options. This includes two basic constants used in the auto tuning process.

    driverMemoryFraction

    if the data is large we set the executors to the size of a yarn container. By default we set the driver to the same size as the executors. However, if your computation does not return much data to the driver you may not need so much driver memory. This scalar provides a way to scale the size of the driver. If you have a highly parallelizable algorithm that does not return much input to the driver (say KMeans) try setting this to less then one. If you want the driver memory to be larger even on small input data (perhaps for an algorithm that aggregates by a group and returns data to the driver try setting it to more than one.

    inputCachedSizeMultiplier

    In auto tuning we try to use enough executors so that the input data could be read in memory into the compute layer of the executors. We calculate the size of the input data in memory by multiplying the file size (which you can see by right clicking a dataset in alpine and viewing the "Hadoop File Properties" dialog) by a scalar Y = X * inputCachedSizeMultiplier, where X is a coefficient which takes into account the storage format, compression, and input column data types. For multiple tabular inputs we use the sum of the estimated input data memory for all inputs. Default value for inputCachedSizeMultiplier is 1.0, adjust this value based on your estimation of the resources required and if the operation is expensive.

    minExecutorMemory

    the minimum size of the executor memory. This is design to insure that for algorithms that perform very expensive computations on the executors, that the executor memory is set to be pretty large, even if the cluster or input data is relatively small.

  6. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  7. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. val driverMemoryFractionId: String

    Permalink
  9. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  10. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  11. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  12. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  13. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  14. val inputCachedSizeMultiplierId: String

    Permalink
  15. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  16. val minExecutorMemoryId: String

    Permalink
  17. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  18. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  19. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  20. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  21. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  22. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  23. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  24. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Serializable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped