Packages

c

com.here.platform.data.processing.driver.modes

MultiExecutorsIncrementalMode

class MultiExecutorsIncrementalMode extends MultiExecutorsBaseMode with ContextLogging

Runs a sequence of com.here.platform.data.processing.driver.Executors in incremental mode.

This driver task allows the running of a sequence of compilers where every subsequent executor is provided with data produced by the previous one. This allows the execution of multiple compilers without the need of creating a filter for each of them.

Note

input layers list of subsequent compilers have to include the needed output layers from the previous ones

,

no output layer overwriting is allowed in the current implementation

,

users of this class are strongly encouraged to build the related driver task via the com.here.platform.data.processing.driver.MultiCompilerTaskBuilder. This guarantees a type safe approach in the construction. Moreover, the mentioned builders assigns to each executor a unique id based on the driver task id set by the user.

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. MultiExecutorsIncrementalMode
  2. ContextLogging
  3. MultiExecutorsBaseMode
  4. ContextAwareMode
  5. TaskMode
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new MultiExecutorsIncrementalMode(context: DriverContext, id: Id, executors: Seq[Executor])

    context

    the com.here.platform.data.processing.driver.DriverContext relative to this mode

    id

    the identifier of the com.here.platform.data.processing.driver.DriverTask the mode belongs to, for logging reasons

    executors

    the executor that should sequentially run

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. def actualRun(): RDD[(Key, Commit)]
    Attributes
    protected
  5. def applyChanges(existingData: RDD[(OutKey, OutMeta)], outCommits: RDD[(OutKey, OutCommit)], version: Version): (RDD[(OutKey, InMeta)], RDD[(OutKey, Change)])

    Propagates changes into the input metadata to simulate a commit.

    Propagates changes into the input metadata to simulate a commit.

    In multi-compiler full compilation intermediate results are only published to the blobstore, while metadata are kept and committed at the end of the executor sequence execution. This means that for a subsequent executor changes done by the previous one has to appear in the input metadata.

    existingData

    the status of the out data before compilation

    outCommits

    the just completed executor changes

    version

    the version to be committed

    returns

    the new state of the input metadata for the incoming execution

    Attributes
    protected
    Definition Classes
    MultiExecutorsBaseMode
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def classForLogger: Class[_]

    Override this to change the class that is displayed in logs.

    Override this to change the class that is displayed in logs.

    Attributes
    protected
    Definition Classes
    ContextLogging
  8. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  9. val context: DriverContext
    Definition Classes
    ContextAwareMode
  10. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  11. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  12. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  13. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  14. def getNextVersion(currentBase: BaseVersion): Version

    Increments the base version of the output catalog.

    Increments the base version of the output catalog.

    In multi-compiler driver tasks we need to simulate a publishing and the related commit. For this reason we need to increase the version of some input data.

    currentBase

    the current base version

    Attributes
    protected
    Definition Classes
    MultiExecutorsBaseMode
  15. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  16. def isApplicable: Boolean

    This mode is only applicable if the following conditions are met: - disableIncremental config parameter is false - what's changed is available for every input catalog - output catalog is not empty

    This mode is only applicable if the following conditions are met: - disableIncremental config parameter is false - what's changed is available for every input catalog - output catalog is not empty

    returns

    if the mode is applicable, so if the mode should run and its result evaluated

    Definition Classes
    MultiExecutorsIncrementalModeTaskMode
  17. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  18. final lazy val logger: ContextAwareLogger

    The logger to use for normal and context-aware messages.

    The logger to use for normal and context-aware messages.

    Attributes
    protected
    Definition Classes
    ContextLogging
  19. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  20. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  21. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  22. val parallelism: Int
    Attributes
    protected
    Definition Classes
    ContextAwareMode
  23. def run(): TaskResult

    Runs the compiler only providing the changes since the last run for every input catalog.

    Runs the compiler only providing the changes since the last run for every input catalog.

    returns

    the result of the compilation

    Definition Classes
    MultiExecutorsIncrementalModeTaskMode
  24. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  25. def toString(): String
    Definition Classes
    AnyRef → Any
  26. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  28. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()

Inherited from ContextLogging

Inherited from MultiExecutorsBaseMode

Inherited from ContextAwareMode

Inherited from TaskMode

Inherited from AnyRef

Inherited from Any

Ungrouped