Class/Object

io.smartdatalake.workflow.action.sparktransformer

PythonCodeDfTransformer

Related Docs: object PythonCodeDfTransformer | package sparktransformer

Permalink

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

Configuration of a custom Spark-DataFrame transformation between one input and one output (1:1) as Python/PySpark code. Note that this transformer needs a Python and PySpark environment installed. PySpark session is initialize and available under variables sc, session, sqlContext. Other variables available are - inputDf: Input DataFrame - options: Transformation options as Map[String,String] - dataObjectId: Id of input dataObject as String Output DataFrame must be set with setOutputDf(df).

name

name of the transformer

description

Optional description of the transformer

code

Optional python code to user for python transformation. The python code can use variables inputDf, dataObjectId and options. The transformed DataFrame has to be set with setOutputDf.

file

Optional file with python code to use for python transformation. The python code can use variables inputDf, dataObjectId and options. The transformed DataFrame has to be set with setOutputDf.

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, OptionsDfTransformer, ParsableDfTransformer, ParsableFromConfig[ParsableDfTransformer], DfTransformer, PartitionValueTransformer, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. PythonCodeDfTransformer
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. OptionsDfTransformer
  7. ParsableDfTransformer
  8. ParsableFromConfig
  9. DfTransformer
  10. PartitionValueTransformer
  11. AnyRef
  12. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new PythonCodeDfTransformer(name: String = "pythonTransform", 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

    Optional python code to user for python transformation. The python code can use variables inputDf, dataObjectId and options. The transformed DataFrame has to be set with setOutputDf.

    file

    Optional file with python code to use for python transformation. The python code can use variables inputDf, dataObjectId and options. The transformed DataFrame has to be set with setOutputDf.

    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

    Optional python code to user for python transformation.

    Optional python code to user for python transformation. The python code can use variables inputDf, dataObjectId and options. The transformed DataFrame has to be set with setOutputDf.

  7. val description: Option[String]

    Permalink

    Optional description of the transformer

    Optional description of the transformer

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

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

    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
    PythonCodeDfTransformer → ParsableFromConfig
  10. val file: Option[String]

    Permalink

    Optional file with python code to use for python transformation.

    Optional file with python code to use for python transformation. The python code can use variables inputDf, dataObjectId and options. The transformed DataFrame has to be set with setOutputDf.

  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
    PythonCodeDfTransformerDfTransformer
  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
    PythonCodeDfTransformerOptionsDfTransformer
  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
    DfTransformer
  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
    PythonCodeDfTransformerOptionsDfTransformer
  21. final def synchronized[T0](arg0: ⇒ T0): T0

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

    Permalink

    Function to be implemented to define the transformation between an input and output DataFrame (1:1)

    Function to be implemented to define the transformation between an input and output DataFrame (1:1)

    Definition Classes
    OptionsDfTransformerDfTransformer
  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
    OptionsDfTransformerPartitionValueTransformer
  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.

    options

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

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

    Permalink

    Function to be implemented to define the transformation between an input and output DataFrame (1:1)

    Function to be implemented to define the transformation between an input and output DataFrame (1:1)

    options

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

    Definition Classes
    PythonCodeDfTransformerOptionsDfTransformer
  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 OptionsDfTransformer

Inherited from ParsableDfTransformer

Inherited from ParsableFromConfig[ParsableDfTransformer]

Inherited from DfTransformer

Inherited from PartitionValueTransformer

Inherited from AnyRef

Inherited from Any

Ungrouped