Class

com.coxautodata.waimak.dataflow

DataCommitter

Related Doc: package dataflow

Permalink

abstract class DataCommitter[A <: DataFlow[A]] extends AnyRef

Defines phases of each data committers in the data flow, which are: 1) validate that committer is properly configured 2) cache the labels in temp area 3) when flow is successful, move all cached data into its permanent storage 4) finalise or cleanup after the committer had committed all of the data into permanent storage

Created by Alexei Perelighin

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

Instance Constructors

  1. new DataCommitter()

    Permalink

Abstract Value Members

  1. abstract def finish(commitName: String, commitUUID: UUID, labels: Seq[CommitEntry], flow: A): A

    Permalink

    Adds actions that are preformed when all data is fully committed/moved into permanent storage.

    Adds actions that are preformed when all data is fully committed/moved into permanent storage. Can be used to do cleanup operations.

    commitName

    logical name of the commit

    commitUUID

    A UUID generated at runtime unique to a commit name

    labels

    labels that were committed

    flow

    data flow to which to add finalise actions

    returns

    data flow with finalise actions

    Attributes
    protected[com.coxautodata.waimak.dataflow]
  2. abstract def moveToPermanentStorageFlow(commitName: String, commitUUID: UUID, labels: Seq[CommitEntry], flow: A): A

    Permalink

    Adds actions to the flow that move data to the permanent storage, simulating a wave commit

    Adds actions to the flow that move data to the permanent storage, simulating a wave commit

    commitName

    logical name of the commit

    commitUUID

    A UUID generated at runtime unique to a commit name

    labels

    labels to move

    flow

    data flow to which move actions are added to

    returns

    data flow with move actions

    Attributes
    protected[com.coxautodata.waimak.dataflow]
  3. abstract def stageToTempFlow(commitName: String, commitUUID: UUID, labels: Seq[CommitEntry], flow: A): A

    Permalink

    Adds cache actions to the flow.

    Adds cache actions to the flow.

    commitName

    logical name of the commit

    commitUUID

    A UUID generated at runtime unique to a commit name

    labels

    labels to cache

    flow

    data flow to which the caching actions are added to

    returns

    data flow with caching actions

    Attributes
    protected[com.coxautodata.waimak.dataflow]
  4. abstract def validate(flow: A, commitName: String, entries: Seq[CommitEntry]): Try[Unit]

    Permalink

    Checks if data flow that will be used to cache, commit and finalise steps contains all necessary configurations.

    Checks if data flow that will be used to cache, commit and finalise steps contains all necessary configurations.

    flow

    data flow to validate

    Attributes
    protected[com.coxautodata.waimak.dataflow]

Concrete 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. final def eq(arg0: AnyRef): Boolean

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

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

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  11. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  12. final def ne(arg0: AnyRef): Boolean

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

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

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

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

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

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

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

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

Inherited from AnyRef

Inherited from Any

Ungrouped