package reftree
- Alphabetic
- Public
- All
Type Members
-
trait
CompileInFn[T] extends Serializable
Front-end of com.here.platform.data.processing.compiler.RefTreeCompiler.
Front-end of com.here.platform.data.processing.compiler.RefTreeCompiler. Produces values of a custom type given input partitions and resolved references. These values are then grouped per output partitions and further processed by the back-end.
- Note
The implementation must be scala.Serializable as this is copied to workers and run inside Spark map functions.
,Users should mix in one of the traits extending this one to their implementation of com.here.platform.data.processing.compiler.RefTreeCompiler according to the behaviour wanted.
- trait CompileInFnWithRefs[T] extends CompileInFn[T]
- trait CompileInFnWithRefsReturnsReferences[T] extends CompileInFn[T]
-
case class
Ref(refName: RefName, layer: (Id, Id), refs: Ref*) extends RefBase with Product with Serializable
Reference from layer A to layer B means that a partition on layer A may potentially require one or more partitions on layer B for compilation.
Reference from layer A to layer B means that a partition on layer A may potentially require one or more partitions on layer B for compilation.
Describes a reference that goes from some unknown in this context source layer to the layer defined by the field layer. It also defines child references that go from the layer to other layers.
- refName
a name of the reference to this layer from. The name must be unique in scope of the whole tree
- layer
the source layer from which the reference refer other layers
- refs
the child references
-
sealed
trait
RefBase extends AnyRef
A base for subject and referenced layers.
A base for subject and referenced layers. It has a layer and references that reference other layers.
-
case class
RefTree(subjectLayers: Subject*) extends Product with Serializable
Represents the reference model that describes hierarchical dependency of a layer on other layers.
Represents the reference model that describes hierarchical dependency of a layer on other layers. Hierarchical here means that not only this layer may have references but also the layers that are referenced by it may also have their own references.
The elements of the RefTree each form the root layers of one reference tree. These layers are also called subject layers, as these layers are the point where the compilation process starts, they are the one driving the compilation, accessing references and providing material for the compilation of output partitions.
Example: We have a Catalog Cat, with a subject com.here.platform.data.processing.catalog.Layer A, which references objects in a second com.here.platform.data.processing.catalog.Layer B. We assign to this reference a com.here.platform.data.processing.compiler.reftree.RefTree.RefName "abReference". For this case we need two levels in the RefTree, the root level defines the subject layer A, the second level defines the reference from A to B:
val exampleRefTree = RefTree(Subject(('Cat, 'A), Ref(RefName("abReference"), ('Cat, 'B))
- subjectLayers
Subject layers with defined references
-
trait
ResolveInFn extends Serializable
Front-end of com.here.platform.data.processing.compiler.RefTreeCompiler.
Front-end of com.here.platform.data.processing.compiler.RefTreeCompiler.
Produces references of an input partition. This process is coordinated by com.here.platform.data.processing.compiler.RefTreeCompiler.refStructure.
- Note
The implementation must be scala.Serializable as this is copied to workers and run inside Spark map functions.
-
case class
Subject(layer: (Id, Id), refs: Ref*) extends RefBase with Product with Serializable
The root of the reference tree.
The root of the reference tree. It does not have source layers, only references to target layers. There may be several subject layers for one compiler.
- layer
the layer from which the reference refer other layers
- refs
child references