Class/Object

io.smartdatalake.workflow.action.sparktransformer

ScalaCodeDfsTransformer

Related Docs: object ScalaCodeDfsTransformer | package sparktransformer

Permalink

case class ScalaCodeDfsTransformer(name: String = "scalaTransform", description: Option[String] = None, code: Option[String] = None, file: Option[String] = None, options: Map[String, String] = Map(), runtimeOptions: Map[String, String] = Map()) extends OptionsDfsTransformer with Product with Serializable

Configuration of a custom Spark-DataFrame transformation between many inputs and many outputs (n:m) as Scala code which is compiled at runtime. Define a transform function which receives a map of input DataObjectIds with DataFrames and a map of options and has to return a map of output DataObjectIds with DataFrames. The scala code has to implement a function of type fnTransformType.

name

name of the transformer

description

Optional description of the transformer

code

Scala code for transformation. The scala code needs to be a function of type fnTransformType.

file

File where scala code for transformation is loaded from. The scala code in the file needs to be a function of type fnTransformType.

options

Options to pass to the transformation

runtimeOptions

optional tuples of [key, spark sql expression] to be added as additional options when executing transformation. The spark sql expressions are evaluated against an instance of DefaultExpressionData.

Linear Supertypes
Serializable, Serializable, Product, Equals, OptionsDfsTransformer, ParsableDfsTransformer, ParsableFromConfig[ParsableDfsTransformer], DfsTransformer, PartitionValueTransformer, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ScalaCodeDfsTransformer
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. OptionsDfsTransformer
  7. ParsableDfsTransformer
  8. ParsableFromConfig
  9. DfsTransformer
  10. PartitionValueTransformer
  11. AnyRef
  12. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ScalaCodeDfsTransformer(name: String = "scalaTransform", description: Option[String] = None, code: Option[String] = None, file: Option[String] = None, options: Map[String, String] = Map(), runtimeOptions: Map[String, String] = Map())

    Permalink

    name

    name of the transformer

    description

    Optional description of the transformer

    code

    Scala code for transformation. The scala code needs to be a function of type fnTransformType.

    file

    File where scala code for transformation is loaded from. The scala code in the file needs to be a function of type fnTransformType.

    options

    Options to pass to the transformation

    runtimeOptions

    optional tuples of [key, spark sql expression] to be added as additional options when executing transformation. The spark sql expressions are evaluated against an instance of DefaultExpressionData.

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. final def asInstanceOf[T0]: T0

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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. val code: Option[String]

    Permalink

    Scala code for transformation.

    Scala code for transformation. The scala code needs to be a function of type fnTransformType.

  7. val description: Option[String]

    Permalink

    Optional description of the transformer

    Optional description of the transformer

    Definition Classes
    ScalaCodeDfsTransformerDfsTransformer
  8. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  9. def factory: FromConfigFactory[ParsableDfsTransformer]

    Permalink

    Returns the factory that can parse this type (that is, type CO).

    Returns the factory that can parse this type (that is, type CO).

    Typically, implementations of this method should return the companion object of the implementing class. The companion object in turn should implement FromConfigFactory.

    returns

    the factory (object) for this class.

    Definition Classes
    ScalaCodeDfsTransformer → ParsableFromConfig
  10. val file: Option[String]

    Permalink

    File where scala code for transformation is loaded from.

    File where scala code for transformation is loaded from. The scala code in the file needs to be a function of type fnTransformType.

  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. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  14. val name: String

    Permalink

    name of the transformer

    name of the transformer

    Definition Classes
    ScalaCodeDfsTransformerDfsTransformer
  15. final def ne(arg0: AnyRef): Boolean

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

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

    Permalink
    Definition Classes
    AnyRef
  18. val options: Map[String, String]

    Permalink

    Options to pass to the transformation

    Options to pass to the transformation

    Definition Classes
    ScalaCodeDfsTransformerOptionsDfsTransformer
  19. def prepare(actionId: ActionId)(implicit session: SparkSession, context: ActionPipelineContext): Unit

    Permalink

    Optional function to implement validations in prepare phase.

    Optional function to implement validations in prepare phase.

    Definition Classes
    DfsTransformer
  20. val runtimeOptions: Map[String, String]

    Permalink

    optional tuples of [key, spark sql expression] to be added as additional options when executing transformation.

    optional tuples of [key, spark sql expression] to be added as additional options when executing transformation. The spark sql expressions are evaluated against an instance of DefaultExpressionData.

    Definition Classes
    ScalaCodeDfsTransformerOptionsDfsTransformer
  21. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  22. def transform(actionId: ActionId, partitionValues: Seq[PartitionValues], dfs: Map[String, DataFrame])(implicit session: SparkSession, context: ActionPipelineContext): Map[String, DataFrame]

    Permalink

    Function to be implemented to define the transformation between many inputs and many outputs (n:m)

    Function to be implemented to define the transformation between many inputs and many outputs (n:m)

    actionId

    id of the action which executes this transformation. This is mainly used to prefix error messages.

    partitionValues

    partition values to transform

    dfs

    Map of (dataObjectId, DataFrame) tuples available as input

    returns

    Map of transformed (dataObjectId, DataFrame) tuples

    Definition Classes
    OptionsDfsTransformerDfsTransformer
  23. def transformPartitionValues(actionId: ActionId, partitionValues: Seq[PartitionValues])(implicit session: SparkSession, context: ActionPipelineContext): Option[Map[PartitionValues, PartitionValues]]

    Permalink

    Optional function to define the transformation of input to output partition values.

    Optional function to define the transformation of input to output partition values. For example this enables to implement aggregations where multiple input partitions are combined into one output partition. Note that the default value is input = output partition values, which should be correct for most use cases.

    actionId

    id of the action which executes this transformation. This is mainly used to prefix error messages.

    partitionValues

    partition values to transform

    returns

    Map of input to output partition values. This allows to map partition values forward and backward, which is needed in execution modes. Return None if mapping is 1:1.

    Definition Classes
    OptionsDfsTransformerPartitionValueTransformer
  24. def transformPartitionValuesWithOptions(actionId: ActionId, partitionValues: Seq[PartitionValues], options: Map[String, String])(implicit session: SparkSession): Option[Map[PartitionValues, PartitionValues]]

    Permalink

    Optional function to define the transformation of input to output partition values.

    Optional function to define the transformation of input to output partition values. For example this enables to implement aggregations where multiple input partitions are combined into one output partition. Note that the default value is input = output partition values, which should be correct for most use cases. see also DfsTransformer.transformPartitionValues()

    options

    Options specified in the configuration for this transformation, including evaluated runtimeOptions

    Definition Classes
    OptionsDfsTransformer
  25. def transformWithOptions(actionId: ActionId, partitionValues: Seq[PartitionValues], dfs: Map[String, DataFrame], options: Map[String, String])(implicit session: SparkSession): Map[String, DataFrame]

    Permalink

    Function to be implemented to define the transformation between many inputs and many outputs (n:m) see also DfsTransformer.transform()

    Function to be implemented to define the transformation between many inputs and many outputs (n:m) see also DfsTransformer.transform()

    options

    Options specified in the configuration for this transformation, including evaluated runtimeOptions

    Definition Classes
    ScalaCodeDfsTransformerOptionsDfsTransformer
  26. final def wait(): Unit

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

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

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

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from OptionsDfsTransformer

Inherited from ParsableDfsTransformer

Inherited from ParsableFromConfig[ParsableDfsTransformer]

Inherited from DfsTransformer

Inherited from PartitionValueTransformer

Inherited from AnyRef

Inherited from Any

Ungrouped