Packages

t

com.here.platform.data.processing.driver

StatefulCompilerExecutor

trait StatefulCompilerExecutor extends Executor

Main interface to implement a compiler that saves a state for the next run, while the state of the previous run is provided as additional input. This compiler enables complex incremental compilation patterns.

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. StatefulCompilerExecutor
  2. Executor
  3. OutputPartitioner
  4. OutputLayers
  5. InputPartitioner
  6. InputLayers
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def execute(inData: InData, inChanges: InChanges, existingState: ExistingState, parallelism: Int): (ToPublish, NewState)

    The compile function that generates the changes of the output catalog and the new state.

    The compile function that generates the changes of the output catalog and the new state. The input is the whole input catalog, information on what has changed from the previous compilation, as well as the state of that run.

    inData

    The metadata of the input catalog for the layers requested. Keys are partitioned as specified in com.here.platform.data.processing.compiler.InputPartitioner.

    inChanges

    The changes of the input catalog for the layers requested from the last run. Keys are partitioned as specified in com.here.platform.data.processing.compiler.InputPartitioner.

    existingState

    The state generated the last run.

    parallelism

    The parallelism level to be used when getting partitioners from com.here.platform.data.processing.compiler.InputPartitioner and/or from com.here.platform.data.processing.compiler.OutputPartitioner.

    returns

    the payloads to be updated and committed incrementally and the state for the next run. The keys of the returned payloads shall be partitioned as specified in com.here.platform.data.processing.compiler.OutputPartitioner.

    Note

    if an input catalog has not changed, inChanges does not contain it.

    ,

    please note and follow the RDD persistence policy described in com.here.platform.data.processing.driver.Executor.

  2. abstract def execute(inData: InData, parallelism: Int): (ToPublish, NewState)

    The compile function that generates the whole output catalog taking as input the whole input catalog.

    The compile function that generates the whole output catalog taking as input the whole input catalog.

    inData

    The metadata of the input catalog for the layers requested.

    parallelism

    The parallelism of both the input and the output RDDs. This parameter is normally needed to get partitioners from com.here.platform.data.processing.compiler.InputPartitioner and/or from com.here.platform.data.processing.compiler.OutputPartitioner traits.

    returns

    the payloads to be uploaded as new snapshot of the output catalog. The keys of the returned payloads shall be partitioned as specified in com.here.platform.data.processing.compiler.OutputPartitioner.

    Note

    please note and follow the RDD persistence policy described in com.here.platform.data.processing.driver.Executor.

  3. abstract def id: Id

    Unique identifier of the com.here.platform.data.processing.driver.Executor.

    Definition Classes
    Executor
  4. abstract def inLayers: Map[Id, Set[Id]]

    Represents layers of the input catalogs that you should query and provide to the compiler.

    Represents layers of the input catalogs that you should query and provide to the compiler. These layers are grouped by input catalog and identified by catalog ID and layer ID.

    Definition Classes
    InputLayers
  5. abstract def inPartitioner(parallelism: Int): Partitioner[InKey]

    Specifies the partitioner to use when querying the input catalogs.

    Specifies the partitioner to use when querying the input catalogs.

    parallelism

    The number of partitions the partitioner should partition the catalog into, this should match the parallelism of the Spark RDD containing the input partitions.

    returns

    The input partitioner with the parallelism specified.

    Definition Classes
    InputPartitioner
  6. abstract def outLayers: Set[Id]

    Layers to be produced by the compiler.

    Layers to be produced by the compiler.

    Definition Classes
    OutputLayers
  7. abstract def outPartitioner(parallelism: Int): Partitioner[OutKey]

    Specifies the partitioner to use when querying the output catalog and producing output data.

    Specifies the partitioner to use when querying the output catalog and producing output data.

    parallelism

    The number of partitions the partitioner should partition the catalog into, this should match the parallelism of the Spark RDD containing the output partitions.

    returns

    The output partitioner with the parallelism specified.

    Definition Classes
    OutputPartitioner

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()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  10. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  11. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  12. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  14. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  15. final val outCatalogId: Id

    Identifier for the output catalog.

    Identifier for the output catalog.

    Definition Classes
    OutputLayers
  16. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  17. def toString(): String
    Definition Classes
    AnyRef → Any
  18. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  20. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()

Inherited from Executor

Inherited from OutputPartitioner

Inherited from OutputLayers

Inherited from InputPartitioner

Inherited from InputLayers

Inherited from AnyRef

Inherited from Any

Ungrouped