Packages

trait Catalog extends CatalogLight

The interface to access the catalog metadata via Spark.

A catalog is partitioned logically into layers, to give clients the ability to only access the type of metadata that the client is interested in. A catalog can be configured to expose common properties and layer-specific properties. Metadata is versioned, so you can detect what has changed between two versions or retrieve metadata for a given version to provide a consistent view.

This extends the base interface CatalogLight by providing methods to process metadata using Spark.

You can retrieve the actual data by specifying the metadata and catalog configuration. This is implemented by com.here.platform.data.processing.java.blobstore.Retriever.

Note

This is a Java friendly wrapper of com.here.platform.data.processing.catalog.Catalog.

Linear Supertypes
CatalogLight, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Catalog
  2. CatalogLight
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def abortCommit(token: CommitToken): Unit

    Aborts a commit being prepared.

    Aborts a commit being prepared.

    token

    The token identifying the commit to abort

    Definition Classes
    CatalogLight
  2. abstract def commit(metadata: JavaPairRDD[Key, Commit], baseVersion: BaseVersion, dependencies: List[Dependency]): Unit

    Commits an RDD of com.here.platform.data.processing.java.catalog.partition.Commit, using the root log context and the default number of parts.

    Commits an RDD of com.here.platform.data.processing.java.catalog.partition.Commit, using the root log context and the default number of parts.

    metadata

    The metadata to be committed.

    baseVersion

    The current version of the catalog in the Data API. This information is required to prevent race conditions if the version is changed elsewhere, in another process, while we are preparing data for the commit. If the catalog is empty, use com.here.platform.data.processing.catalog.utils.EmptyCatalog.

    Note

    Calling this method is equivalent to calling startCommit + partialCommit + finishCommit in sequence.

  3. abstract def commit(metadata: JavaPairRDD[Key, Commit], baseVersion: BaseVersion, dependencies: List[Dependency], maxNumParts: Int): Unit

    Commits an RDD of com.here.platform.data.processing.java.catalog.partition.Commit.

    metadata

    The metadata to be committed.

    baseVersion

    The current version of the catalog in the Data API. This information is required to prevent race conditions if the version is changed elsewhere, in another process, while we are preparing data for the commit. If the catalog is empty, use com.here.platform.data.processing.catalog.utils.EmptyCatalog.

    maxNumParts

    The maximum number of parts the metadata should be split into.

    Note

    Calling this method is equivalent to calling startCommit + partialCommit + finishCommit in sequence.

  4. abstract def defaultPartitioner: PartitionerOfKey

    The default com.here.platform.data.processing.java.spark.partitioner.PartitionerOfKey applied when querying the catalog, if you do not explicitly specify a partitioner.

  5. abstract def empty(): JavaPairRDD[Key, Meta]

    Creates a partitioned empty RDD of (Key, Meta) in compliance with other methods of this component.

    Creates a partitioned empty RDD of (Key, Meta) in compliance with other methods of this component. This version uses the root log context and the default partitioner.

    returns

    An empty RDD of (com.here.platform.data.processing.java.catalog.partition.Key, com.here.platform.data.processing.java.catalog.partition.Meta), which is partitioned according to the partitioner parameter.

  6. abstract def empty(partitioner: PartitionerOfKey): JavaPairRDD[Key, Meta]

    Creates a partitioned empty RDD of (Key, Meta) in compliance with other methods of this component.

    Creates a partitioned empty RDD of (Key, Meta) in compliance with other methods of this component.

    partitioner

    The com.here.platform.data.processing.java.spark.partitioner.PartitionerOfKey applied when constructing the RDD returned.

    returns

    An empty RDD of (com.here.platform.data.processing.java.catalog.partition.Key, com.here.platform.data.processing.java.catalog.partition.Meta), which is partitioned according to the partitioner parameter.

  7. abstract def emptyChanges(): JavaPairRDD[Key, Change]

    Creates a partitioned empty RDD of (Key, Change) in compliance with other methods of this component.

    Creates a partitioned empty RDD of (Key, Change) in compliance with other methods of this component. This version uses the root log context and the default partitioner.

    returns

    An empty RDD of (com.here.platform.data.processing.java.catalog.partition.Key, com.here.platform.data.processing.java.catalog.partition.Change), partitioned according to the partitioner parameter.

  8. abstract def emptyChanges(partitioner: PartitionerOfKey): JavaPairRDD[Key, Change]

    Creates a partitioned empty RDD of(Key, Change) in compliance with other methods of this component.

    Creates a partitioned empty RDD of(Key, Change) in compliance with other methods of this component.

    partitioner

    The com.here.platform.data.processing.java.spark.partitioner.PartitionerOfKey applied when constructing the RDD returned.

    returns

    An empty RDD of (com.here.platform.data.processing.java.catalog.partition.Key, com.here.platform.data.processing.java.catalog.partition.Change), partitioned according to the partitioner parameter.

  9. abstract def finishCommit(token: CommitToken, parts: List[CommitPart]): Unit

    Completes a multipart commit.

    Completes a multipart commit.

    token

    The token obtained when startCommit was called to start this commit.

    parts

    All the commit parts obtained from calls made to partialCommit as part of this commit.

    Definition Classes
    CatalogLight
  10. abstract def hrn: HRN

    The HRN (HERE Resource Name) of the catalog.

    The HRN (HERE Resource Name) of the catalog. It is a resource descriptor that provides a globally unique handle for a catalog in the sense of an instance.

    Definition Classes
    CatalogLight
  11. abstract def id: String

    The unique identifier for the catalog, that is added to every com.here.platform.data.processing.java.catalog.partition.Key returned by the query APIs and is used by the commit API for logging and statistics generation.

    The unique identifier for the catalog, that is added to every com.here.platform.data.processing.java.catalog.partition.Key returned by the query APIs and is used by the commit API for logging and statistics generation.

    Definition Classes
    CatalogLight
  12. abstract def partialCommit(token: CommitToken, metadata: JavaPairRDD[Key, Commit]): List[CommitPart]

    Prepares the commit of an RDD of com.here.platform.data.processing.java.catalog.partition.Commit, but does not complete the commit.

    Prepares the commit of an RDD of com.here.platform.data.processing.java.catalog.partition.Commit, but does not complete the commit. This version uses the root log context and the default number of parts.

    This function appends the metadata to the commit that is being constructed, and can be called multiple times. You must specify the maximum number of parts that should be produced. However, the Data API imposes a limit of 100 parts in total, so if this function is called multiple times, the total number of parts must be less than 100.

    token

    The token identifying the commit being prepared.

    metadata

    The metadata to be prepared for committing.

    returns

    The com.here.platform.data.processing.java.catalog.CommitPart objects that should be passed to finishCommit

  13. abstract def partialCommit(token: CommitToken, metadata: JavaPairRDD[Key, Commit], maxNumParts: Int): List[CommitPart]

    Prepares the commit of an RDD of com.here.platform.data.processing.java.catalog.partition.Commit, but does not complete the commit.

    Prepares the commit of an RDD of com.here.platform.data.processing.java.catalog.partition.Commit, but does not complete the commit.

    This function appends the metadata to the commit that is being constructed, and can be called multiple times. You must specify the maximum number of parts that should be produced. However, the Data API imposes a limit of 100 parts in total, so if this function is called multiple times, the total number of parts must be less than 100.

    token

    The token identifying the commit being prepared.

    metadata

    The metadata to be prepared for committing.

    maxNumParts

    The maximum number of parts the metadata should be split into.

    returns

    The com.here.platform.data.processing.java.catalog.CommitPart objects that should be passed to finishCommit

  14. abstract def queryAll(version: Version, layers: Set[String]): JavaPairRDD[Key, Meta]

    Queries metadata of all the partitions in a given set of layers at a given version, using the root log context and the default partitioner.

    Queries metadata of all the partitions in a given set of layers at a given version, using the root log context and the default partitioner.

    Creates an RDD containing the queried metadata.

    version

    The version at which the catalog is queried for partitions.

    layers

    The set of layers for which the partitions should be queried.

    returns

    The queried metadata in an RDD object partitioned according to the partitioner parameter.

  15. abstract def queryAll(version: Version, layers: Set[String], partitioner: PartitionerOfKey): JavaPairRDD[Key, Meta]

    Queries metadata of all the partitions in a given set of layers at a given version.

    Queries metadata of all the partitions in a given set of layers at a given version.

    Creates an RDD containing the queried metadata.

    version

    The version at which the catalog is queried for partitions.

    layers

    The set of layers for which the partitions should be queried.

    partitioner

    The com.here.platform.data.processing.java.spark.partitioner.PartitionerOfKey applied when constructing the RDD returned.

    returns

    The queried metadata in an RDD object partitioned according to the partitioner parameter.

  16. abstract def queryChanges(versionStart: Version, versionEnd: Version, layers: Set[String]): JavaPairRDD[Key, Change]

    Queries metadata of all the partitions in a given set of layers changed between given versions, using the root log context and the default partitioner.

    Queries metadata of all the partitions in a given set of layers changed between given versions, using the root log context and the default partitioner.

    Creates an RDD containing the queries metadata.

    versionStart

    Query the partitions changed after this version.

    versionEnd

    Query the changed partitions up to this version.

    layers

    The set of layers for which the partitions should be queried.

    returns

    The queried metadata in an RDD object partitioned according to the partitioner parameter.

  17. abstract def queryChanges(versionStart: Version, versionEnd: Version, layers: Set[String], partitioner: PartitionerOfKey): JavaPairRDD[Key, Change]

    Queries metadata of all the partitions in a given set of layers changed between given versions.

    Queries metadata of all the partitions in a given set of layers changed between given versions.

    Creates an RDD containing the queries metadata.

    versionStart

    Query the partitions changed after this version.

    versionEnd

    Query the changed partitions up to this version.

    layers

    The set of layers for which the partitions should be queried.

    partitioner

    The com.here.platform.data.processing.java.spark.partitioner.PartitionerOfKey applied when constructing the RDD returned.

    returns

    The queried metadata in an RDD object partitioned according to the partitioner parameter.

  18. abstract def queryConfiguration(): Configuration

    Queries the current configuration of the catalog.

    Queries the current configuration of the catalog.

    returns

    The current configuration of the catalog.

    Definition Classes
    CatalogLight
  19. abstract def queryDependencies(version: Version): List[Dependency]

    Queries the dependencies for a particular catalog version.

    Queries the dependencies for a particular catalog version.

    version

    The version of the catalog for which dependencies will be queried.

    returns

    The dependencies of the catalog version.

    Definition Classes
    CatalogLight
  20. abstract def queryLatestVersion(): BaseVersion

    Queries the latest version of the catalog.

    Queries the latest version of the catalog.

    returns

    The latest catalog version available in the Data API, or com.here.platform.data.processing.catalog.utils.EmptyCatalog otherwise.

    Definition Classes
    CatalogLight
  21. abstract def queryLayerVersions(version: Version): Map[String, Version]

    Queries the latest version for each of the catalog layers.

    Queries the latest version for each of the catalog layers. This is the version of the most recent event affecting that layer, either because a partition was changed and/or deleted in that version.

    For some layers, this version may be older than the catalog's overall version, particularly if those layers did not change, but other layers have changed.

    version

    The version for which the catalog's layers are queried.

    returns

    The latest version for each of the catalog's layers.

    Definition Classes
    CatalogLight
    Note

    In case a layer has never changed since catalog creation, 0 is returned.

  22. abstract def queryPartitionChangeHistory(version: Version, layer: String, partition: Name, direction: catalog.Catalog.ChangeHistoryDirection.Value): List[Change]

    Queries metadata history for the selected partition.

    Queries metadata history for the selected partition.

    This query is done directly in the Driver, and the metadata is returned. You can query up to 100 changes with one call.

    version

    The version from which to begin the change history search.

    layer

    The layer that contains the partition.

    partition

    The partition to query the change history for.

    direction

    Specifies the direction in which to lookup the history: forward or backward.

    returns

    A com.here.platform.data.processing.java.catalog.partition.Change object containing the partition size and checksum.

    Definition Classes
    CatalogLight
    Note

    This method is scheduled to be deprecated in a future release. Only supported by the Datastore1 implementation.

  23. abstract def querySinglePartitions(version: Version, layer: String, partitions: Set[Name]): Map[Key, Meta]

    Queries metadata for the selected partitions.

    Queries metadata for the selected partitions.

    This query is done directly in the Driver, and the metadata is returned. You can query up to 100 partitions with one call.

    version

    The version at which the catalog is queried for partitions.

    layer

    The layer that contains the partitions being queried.

    partitions

    The partition names that should be queried.

    returns

    The queried metadata, for partitions that have content in the catalog at the specified version. Partitions not present in the catalog at the specified version are not returned.

    Definition Classes
    CatalogLight
    Note

    This method is only intended to be used internally, by the library. When implementing your compiler, you are encouraged to use queryAll/queryChanges instead, as these methods are implemented in a distributed way.

  24. abstract def retriever: Retriever

    Exposes the Retriever for this catalog.

    Exposes the Retriever for this catalog. The returned object can be captured in Spark functions and transmitted to worker nodes.

    Definition Classes
    CatalogLight
  25. abstract def startCommit(baseVersion: BaseVersion, dependencies: List[Dependency]): CommitToken

    Starts a new multipart commit on top of an existing version or an empty catalog.

    Starts a new multipart commit on top of an existing version or an empty catalog.

    baseVersion

    The current version of the catalog in the Data API. This information is required to prevent race conditions if the version is changed elsewhere, in another process, while we are preparing data for the commit. If the catalog is empty, use com.here.platform.data.processing.catalog.utils.EmptyCatalog.

    dependencies

    The upstream dependencies for this commit.

    returns

    A new multipart commit token representing the commit in progress.

    Definition Classes
    CatalogLight
  26. abstract def tokenFromString(s: String): CommitToken

    Create a commit token for the catalog given its string representation.

    Create a commit token for the catalog given its string representation.

    Definition Classes
    CatalogLight
  27. abstract def tokenToString(t: CommitToken): String

    Return the string representation of a commit token.

    Return the string representation of a commit token.

    Definition Classes
    CatalogLight
  28. abstract def uploader(baseVersion: BaseVersion): Uploader

    Exposes the Uploader for this catalog optimized to upload Payloads for a given base version of the catalog.

    Exposes the Uploader for this catalog optimized to upload Payloads for a given base version of the catalog. The returned object can be captured in Spark functions and transmitted to worker nodes.

    baseVersion

    The current version of catalog in the Data API.

  29. abstract def uploader: Uploader

    Exposes the Uploader for this catalog.

    Exposes the Uploader for this catalog. The returned object can be captured in Spark functions and transmitted to worker nodes.

Concrete 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 clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  10. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  11. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  12. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  14. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  15. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  16. def toString(): String
    Definition Classes
    AnyRef → Any
  17. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  18. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()

Inherited from CatalogLight

Inherited from AnyRef

Inherited from Any

Ungrouped