Packages

package driver

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. All

Type Members

  1. class DeltaDriverTask extends DriverTask with ContextLogging

    A DriverTask that commits a collection of com.here.platform.data.processing.driver.deltasets.PublishedSets.

  2. class DeltaDriverTaskBuilder extends AnyRef

    A builder to construct a DeltaDriverTask.

    A builder to construct a DeltaDriverTask. Extend the trait DeltaSetup to setup the com.here.platform.data.processing.driver.deltasets.DeltaSets to be evaluated by the DeltaDriverTask, and then use this builder to construct the DeltaDriverTask.

    Note

    If the driver is set up manually, this builder does not need to be used.

  3. trait DeltaSetup extends AnyRef

    Implement this trait to setup a DeltaDriverTask via the DeltaDriverTaskBuilder.

    Implement this trait to setup a DeltaDriverTask via the DeltaDriverTaskBuilder.

    Note

    If the driver is set up manually, this trait does not need to be used.

  4. trait DeltaSimpleSetup extends DriverSetup with DeltaSetup

    Simplifies the setup of a Driver for the use with DeltaSets.

    Simplifies the setup of a Driver for the use with DeltaSets.

    It will create a Driver with a single DeltaDriverTask, evaluating a set of com.here.platform.data.processing.driver.deltasets.DeltaSets, which in turn are constructed by the DeltaSetup.setupSets, which must be implemented by the inheritor of this class.

  5. trait Driver extends AnyRef

    Instantiates a Driver using a com.here.platform.data.processing.driver.DriverBuilder to run a Spark pipeline from one or more input catalogs to one output catalog, using the versions specified for all of the catalogs and the library configuration.

    Instantiates a Driver using a com.here.platform.data.processing.driver.DriverBuilder to run a Spark pipeline from one or more input catalogs to one output catalog, using the versions specified for all of the catalogs and the library configuration.

    This trait conceptually wraps together Catalogs, Retrievers, Uploaders, com.here.platform.data.processing.publisher.Publisher and processing code in the form of one or more DriverTasks.

  6. class DriverBuilder extends AnyRef

    Constructs a Driver from one or more DriverTasks.

    Constructs a Driver from one or more DriverTasks.

    You can build DriverTasks using the TaskBuilders provided by this class and then you can add them to the DriverBuilder.

    Finally, you must call DriverBuilder!.build to construct the Driver.

  7. trait DriverContext extends AnyRef

    Provides access to a set of common resources which a Driver has, that can be used by DriverTasks and Compilers.

  8. trait DriverSetup extends AnyRef

    The root interface to provide the library with a fully-configured Driver.

    The root interface to provide the library with a fully-configured Driver. The Driver is then executed by the library.

    This setup procedure has two aspects: - Configuring the Driver - which DriverTasks and which compilers. - Interfacing with the caller - parsing command line as in a PipelineRunner.

    Developers should extend one of the runners and mix in one of the configuration patterns to obtain a valid executable class.

    Possible setup patterns: - DriverSetupWithBuilder - DriverSetupManual

  9. trait DriverSetupManual extends DriverSetup

    Implements the Driver setup pattern DriverSetup to enable developers to manually configure each DriverTask.

    Implements the Driver setup pattern DriverSetup to enable developers to manually configure each DriverTask. It is the developer's task to return the list of manually constructed DriverTasks, as required. In turn, the processing library instantiates a corresponding Driver to run these tasks sequentially.

  10. trait DriverSetupWithBuilder extends DriverSetup

    Implements the Driver setup pattern DriverSetup using a com.here.platform.data.processing.driver.DriverBuilder.

    Implements the Driver setup pattern DriverSetup using a com.here.platform.data.processing.driver.DriverBuilder. It is the developer's task to configure the passed builder as required and return it.

  11. trait DriverTask extends AnyRef

    A DriverTask processes input catalogs, given pairs of versions, and publishes the result to an output catalog, incrementing its version.

    A DriverTask processes input catalogs, given pairs of versions, and publishes the result to an output catalog, incrementing its version. One or more DriverTasks are attached to a Driver, which executes these DriverTasks sequentially.

    See also

    Driver

  12. sealed trait Executor extends InputLayers with InputPartitioner with OutputLayers with OutputPartitioner

    Base class for all the executors.

    Base class for all the executors.

    Executors work at RDD level, meaning that RDDs are passed and returned to the functions that each executor implements. It is important to define a common policy regarding the persistence of RDDs that are passed and returned. Not respecting this policy introduces a risk of Spark throwing an exception due to the fact that some RDDs may be persisted twice with different storage levels. This policy may be applicable to classes other than executors, such as com.here.platform.data.processing.compiler.NonIncrementalCompiler, com.here.platform.data.processing.compiler.DepCompilerBase and derived.

    Note

    The policy established is as follows: RDDs passed to every execute function are guaranteed to be reusable multiple times, efficiently, without the need for the implementations to persist them. Implementations shall not persist passed RDDs. These are either already persisted by the processing library or guaranteed to be reusable multiple time efficiently. Therefore, implementations shall not require() or assert() that passed RDDs are persisted, although it's guaranteed that they will be, or equivalent. RDDs returned by every execute function don't have to be persisted. They may be persisted if it's useful to the implementations. The processing library may persist the RDDs once returned, if not already persisted.

  13. final class Fingerprints extends AnyRef

    Fingerprints of compilation.

    Fingerprints of compilation. They are constructed from both source code and configuration. The library uses the fingerprints, for example, to verify that the incremental compilation is done using the same setup as a previous full compilation, and to disable incremental compilation otherwise.

  14. trait IncrementalCompilerExecutor extends Executor

    The main interface to implement a compiler that uses the changes from the previous compilation to optimize the amount of input data to be processed, and incrementally publishes the resulting output.

  15. class MultiCompilerTaskBuilder extends AnyRef

    Constructs a multi-compiler DriverTask by creating Executors for each compiler and their applicable com.here.platform.data.processing.driver.modes.TaskModes.

    Constructs a multi-compiler DriverTask by creating Executors for each compiler and their applicable com.here.platform.data.processing.driver.modes.TaskModes.

    Executors' IDs can be supplied or can be left out so that they are auto-generated. When supplied they must be unique or an exception will be thrown at runtime. When they are automatically generated they have the form of taskId-n where n is the index of the position of the executor in the constructed task sequence

    The resulting applicable mode is incremental, if all compilers in the driver task are incremental. Otherwise, it is non-incremental, even if only one non-incremental compiler is added to the task.

    When the task is executed, each compiler is executed sequentially. An output layer produced by a compiler can be used as input data for the subsequent steps.

    Note

    the class DriverBuilder offers the method DriverBuilder.newMultiCompilerTaskBuilder to create this builder, it is suggested to use it.

  16. class MultiModeDriverTask extends DriverTask

    The DriverTask implementation that runs the first com.here.platform.data.processing.driver.modes.TaskMode that is applicable.

    The DriverTask implementation that runs the first com.here.platform.data.processing.driver.modes.TaskMode that is applicable. Throws an exception if no mode is applicable.

  17. trait NonIncrementalCompilerExecutor extends Executor

    The main interface to implement a compiler that always compiles the complete input catalog into the complete output catalog.

    The main interface to implement a compiler that always compiles the complete input catalog into the complete output catalog. This compiler provides developers with the maximum level of freedom to develop a compiler, but does not perform well when compiling small changes.

  18. case class PartitionKeyFiltering(partitionKeyFilters: Seq[PartitionKeyFilterConfig]) extends Product with Serializable

    Takes care of applying configured com.here.platform.data.processing.driver.filter.PartitionKeyFilter on the input data.

  19. 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.

    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.

  20. class TaskBuilder extends AnyRef

    Constructs a DriverTask by creating an Executor and its applicable com.here.platform.data.processing.driver.modes.TaskModes.

    Constructs a DriverTask by creating an Executor and its applicable com.here.platform.data.processing.driver.modes.TaskModes.

    Note

    Use the factory method in com.here.platform.data.processing.driver.DriverBuilder to instantiate a TaskBuilder.

  21. case class TaskResult(toCommit: Option[RDD[(Key, Commit)]]) extends Product with Serializable

    The result obtained from the processing of a single DriverTask.

    The result obtained from the processing of a single DriverTask.

    toCommit

    The metadata to commit, if the DriverTask produced a result. None, if the DriverTask did not produce any metadata to commit.

Value Members

  1. object Default
  2. object DriverContext
  3. object DriverTask
  4. object Executor

    Executor factory, to create an Executor corresponding to each compiler pattern

  5. object Fingerprints

Ungrouped