Packages

abstract class ETL[T <: Configuration] extends AnyRef

Defines a common workflow for ETL jobs. By definition an ETL can take 1..N sources as input and can produce 1..N output.

Annotations
@deprecated
Deprecated

(Since version 11.0.0) use v4.ETL instead

Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ETL
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ETL(context: DeprecatedETLContext[T])

    context

    runtime configuration

Abstract Value Members

  1. abstract def extract(lastRunDateTime: LocalDateTime = minDateTime, currentRunDateTime: LocalDateTime = LocalDateTime.now()): Map[String, DataFrame]

    Reads data from a file system and produces a Map[DatasetConf, DataFrame].

    Reads data from a file system and produces a Map[DatasetConf, DataFrame]. This method should avoid transformation and joins but can implement filters in order to make the ETL more efficient.

    returns

    all the data needed to pass to the transform method and produce the desired output.

  2. abstract def mainDestination: DatasetConf
  3. abstract def transform(data: Map[String, DataFrame], lastRunDateTime: LocalDateTime = minDateTime, currentRunDateTime: LocalDateTime = LocalDateTime.now()): Map[String, DataFrame]

    Takes a Map[DatasetConf, DataFrame] as input and applies a set of transformations to it to produce the ETL output.

    Takes a Map[DatasetConf, DataFrame] as input and applies a set of transformations to it to produce the ETL output. It is recommended to not read any additional data but to use the extract() method instead to inject input data.

    data

    input data

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native() @HotSpotIntrinsicCandidate()
  6. implicit val conf: Configuration
  7. def defaultRepartition: (DataFrame) ⇒ DataFrame
  8. def defaultSampling: PartialFunction[String, (DataFrame) ⇒ DataFrame]
  9. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  10. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  11. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  12. def getLastRunDateFor(ds: DatasetConf): LocalDateTime

    If possible, fetch the last run date time from the dataset passed in argument

    If possible, fetch the last run date time from the dataset passed in argument

    ds

    dataset

    returns

    the last run date or the minDateTime

  13. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  14. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  15. def load(data: Map[String, DataFrame], lastRunDateTime: LocalDateTime = minDateTime, currentRunDateTime: LocalDateTime = LocalDateTime.now()): Map[String, DataFrame]

    Loads the output data into a persistent storage.

    Loads the output data into a persistent storage. The output destination can be any of: object store, database or flat files...

    data

    output data produced by the transform method.

  16. def loadDataset(df: DataFrame, ds: DatasetConf): DataFrame
  17. val log: Logger
  18. val maxDateTime: LocalDateTime
  19. val minDateTime: LocalDateTime
  20. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  21. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  22. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  23. def publish(): Unit

    OPTIONAL - Contains all actions needed to be done in order to make the data available to users like creating a view with the data.

  24. def replaceWhere: Option[String]

    replaceWhere is used in for OverWriteStaticPartition load.

    replaceWhere is used in for OverWriteStaticPartition load. It avoids to compute dataframe to infer which partitions to replace. Most of the time, these partitions can be inferred statically. Always prefer that to dynamically overwrite partitions.

  25. def reset(): Unit

    Reset the ETL by removing the destination dataset.

  26. def run(lastRunDateTime: Option[LocalDateTime] = None, currentRunDateTime: Option[LocalDateTime] = None): Map[String, DataFrame]

    Entry point of the etl - execute this method in order to run the whole ETL

  27. def sampling: PartialFunction[String, (DataFrame) ⇒ DataFrame]

    Logic used when the ETL is run as a RunStep.sample step.

  28. implicit val spark: SparkSession
  29. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  30. def toMain(df: ⇒ DataFrame): Map[String, DataFrame]
  31. def toString(): String
    Definition Classes
    AnyRef → Any
  32. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  33. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  34. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] ) @Deprecated
    Deprecated

Inherited from AnyRef

Inherited from Any

Ungrouped