trait Referencing extends AnyRef
The transformation applicable to input metadata.
- Alphabetic
- By Inheritance
- Referencing
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Abstract Value Members
-
abstract
val
autoIdAssigner: BaseSetIdAssigner
The ID assigner used to automatically assign DeltaSet IDs if not provided.
The ID assigner used to automatically assign DeltaSet IDs if not provided.
- Attributes
- protected
-
abstract
def
mapValuesWithResolver[V](mapFn: (Resolver, Key, Meta) ⇒ V, strategies: Seq[ResolutionStrategy[Key, Meta]], id: Id = ..., configOverride: Override = DeltaSetConfig.noOverride)(implicit arg0: ClassTag[V]): DeltaSet[Key, V]
Transforms the DeltaSet, the _subjects_, while having access to a Resolver that allows finding the metadata for related partitions, the _references_.
Transforms the DeltaSet, the _subjects_, while having access to a Resolver that allows finding the metadata for related partitions, the _references_.
- mapFn
The function to transform the values of the subject DeltaSet. Takes the Resolver, the key, and the original value of the subject as input; returns the new value of the subject.
- strategies
Defines a list of strategies to find the metadata corresponding to a reference key. See ResolutionStrategy.
- id
Deprecated.
- configOverride
Deprecated.
- Note
This will use the partitioner of the upstream DeltaSet also for partitioning references.
,The
mapFn
must be scala.Serializable as it is copied to workers and run inside Spark map functions.
-
abstract
def
resolveReferences(refStructure: RefTree, resolveFn: (Key, Meta) ⇒ Map[RefName, Set[Key]], id: Id = autoIdAssigner("resolveReferences"), configOverride: Override = DeltaSetConfig.noOverride): DeltaSet[Key, (Meta, Map[Key, Meta])]
Resolves references from one partition to other partitions.
Resolves references from one partition to other partitions. This transformation requires you to specify the shape of all reference relations in the form of a
RefTree
, and provide a function that determines all possible references for each partition.One condition to apply this transformation is that all references of a layer can be calculated purely from the source data of this layer using the resolve function, which takes the metadata of one partition as input. The structure of the references must be predefined in a
RefTree
object.The result contains every subject partition of the input DeltaSet with the full list of metadata for all of its referenced partitions.
For this transformation to be efficient in incremental mode, it is best to apply it as early as possible in the computation.
This transformation will shuffle data whenever there are references for one key belonging to a different partition.
- refStructure
The
RefTree
that defines the structure of the resolution.- resolveFn
The function that produces all references for each partition.
- id
Deprecated.
- configOverride
Deprecated.
- Note
The
resolveFn
must be scala.Serializable as it is copied to workers and run inside Spark map functions.- See also
com.here.platform.data.processing.compiler.RefTreeCompiler, which uses the same concepts in a fixed compiler pattern.
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()