Packages

class CachingMappingRetriever[T <: AnyRef] extends Serializable with ContextLogging

A wrapper for the Retriever class, that applies a mapping function on the retrieved payloads and caches the resulting values.

T

The type of the decoded payload, after applying the mapping function.

Note

A CachingMappingRetriever can be only created from the Spark driver. If a CachingMappingRetriever is created from inside a Spark worker node, an exception is thrown.

Linear Supertypes
ContextLogging, Serializable, Serializable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. CachingMappingRetriever
  2. ContextLogging
  3. Serializable
  4. Serializable
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new CachingMappingRetriever(retriever: Retriever, mapFn: (Key, Payload) ⇒ T, filter: CacheFilter = CachingMappingRetriever.noFilter, factory: CacheFactory[T] = ..., statistics: Option[Statistics] = None)

    retriever

    The wrapped Retriever.

    mapFn

    A decoding function applied to the retrieved payloads and their keys.

    filter

    A predicate used to cache only the partitions for which the predicate returns true. If not specified, all partitions are cached.

    factory

    A functions that returns a com.here.platform.data.processing.utils.cache.Cache. If not specified com.here.platform.data.processing.utils.cache.GuavaCache.cacheFactory is used.

    statistics

    An optional com.here.platform.data.processing.statistics.Statistics object. If defined, statistics about the number of cache requests and misses are recorded.

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 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
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  9. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  10. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  11. def getPayloadAndMap(key: Key, meta: Meta, file: File): T

    Returns the decoded value associated with the key-meta pair in this cache.

    Returns the decoded value associated with the key-meta pair in this cache. If the value is not cached, it is retrieved with the wrapped retriever and decoded with the mapping function. If filter returns false for the key-meta pair, the cache is not used. This version uses a file to store the content of the payload when a miss occurs. The transformed payload is still stored in memory though.

    key

    The partition key.

    meta

    The partition metadata.

    file

    The file where the retrieved payload must be stored.

    returns

    The decoded payload.

    Note

    In case of a cache hit, the file is not created or written. It's the caller's responsibility to delete the file when it's no longer needed.

  12. def getPayloadAndMap(key: Key, meta: Meta): T

    Returns the decoded value associated with the key-meta pair in this cache.

    Returns the decoded value associated with the key-meta pair in this cache. If the value is not cached, it is retrieved with the wrapped retriever and decoded with the mapping function. If filter returns false for the key-meta pair, the cache is not used.

    key

    The partition key.

    meta

    The partition metadata.

    returns

    The decoded payload.

  13. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  14. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  15. 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
  16. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  17. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  18. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  19. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  20. def toString(): String
    Definition Classes
    AnyRef → Any
  21. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  22. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  23. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()

Inherited from ContextLogging

Inherited from Serializable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped