Interface FlinkQueryApi

All Known Implementing Classes:
FlinkQueryApiImpl

public interface FlinkQueryApi
  • Method Details

    • getChanges

      org.apache.flink.api.connector.source.Source<Partition,? extends org.apache.flink.api.connector.source.SourceSplit,?> getChanges(Long startVersion, Long endVersion, String layer, Set<AdditionalField> additionalFields)
      Get metadata for the latest partition changes for a version range in a versioned layer. Only the latest change for each changed partition is returned, not intermediate changes. If the response contains a partition with an empty 'dataHandle' value, the partition was deleted at the version indicated by the 'version' field of the partition object. If a partition was created and deleted between the versions specified in the 'startVersion' and 'endVersion' parameters, the partition is included in the response with an empty dataHandle value. For example, if you request versions 0 to 10, and a partition was created in version 3 then deleted in version 7, it is included in the response with an empty dataHandle value.

      Iterator returned by this function *MUST BE* consumed. If accidentally left not fully consumed it will be assumed the incoming data should remain back-pressured, and will stall the incoming data via TCP back-pressure mechanisms. Such stall connection can exhaust DataClient connection pool.

      Parameters:
      startVersion - Start version (exclusive). If the version specified has been deleted, the lowest existing version is assumed. This parameter cannot be null.
      endVersion - End version (inclusive). Must be greater than startVersion.
      layer - Layer id to be used for filtering. If the layer specified in request does not exist, an error is returned.
      additionalFields - If this parameter is set, the fields set during commit of the tile will be included in the response. metadata for partitions changed between versions
      Throws:
      DataClientNonRetriableException - in case of non-retriable error
      DataClientRetriableException - in case of retriable error
    • getChanges

      org.apache.flink.api.connector.source.Source<Partition,? extends org.apache.flink.api.connector.source.SourceSplit,?> getChanges(Long startVersion, Long endVersion, String layer, VersionedLayerContext context, Set<AdditionalField> additionalFields)
      Get metadata for the latest partition changes for a version range in a versioned layer. Only the latest change for each changed partition is returned, not intermediate changes. If the response contains a partition with an empty 'dataHandle' value, the partition was deleted at the version indicated by the 'version' field of the partition object. If a partition was created and deleted between the versions specified in the 'startVersion' and 'endVersion' parameters, the partition is included in the response with an empty dataHandle value. For example, if you request versions 0 to 10, and a partition was created in version 3 then deleted in version 7, it is included in the response with an empty dataHandle value.

      Iterator returned by this function *MUST BE* consumed. If accidentally left not fully consumed it will be assumed the incoming data should remain back-pressured, and will stall the incoming data via TCP back-pressure mechanisms. Such stall connection can exhaust DataClient connection pool.

      Parameters:
      startVersion - Start version (exclusive). If the version specified has been deleted, the lowest existing version is assumed. This parameter cannot be null.
      endVersion - End version (inclusive). Must be greater than startVersion.
      layer - Layer id to be used for filtering. If the layer specified in request does not exist, an error is returned.
      context - The context where the operation will be performed on a composite layer.
      additionalFields - If this parameter is set, the fields set during commit of the tile will be included in the response. metadata for partitions changed between versions
      Throws:
      DataClientNonRetriableException - in case of non-retriable error
      DataClientRetriableException - in case of retriable error
    • getChangesAsIterator

      Iterator<Partition> getChangesAsIterator(Long startVersion, Long endVersion, String layer, Set<AdditionalField> additionalFields)
      Get metadata for the latest partition changes for a version range in a versioned layer. Only the latest change for each changed partition is returned, not intermediate changes. If the response contains a partition with an empty 'dataHandle' value, the partition was deleted at the version indicated by the 'version' field of the partition object. If a partition was created and deleted between the versions specified in the 'startVersion' and 'endVersion' parameters, the partition is included in the response with an empty dataHandle value. For example, if you request versions 0 to 10, and a partition was created in version 3 then deleted in version 7, it is included in the response with an empty dataHandle value.

      Fetch elements from the iterator may be a blocking call.

      Iterator returned by this function *MUST BE* consumed. If accidentally left not fully consumed it will be assumed the incoming data should remain back-pressured, and will stall the incoming data via TCP back-pressure mechanisms. Such stall connection can exhaust DataClient connection pool.

      Parameters:
      startVersion - Start version (exclusive). If the version specified has been deleted, the lowest existing version is assumed. This parameter cannot be null.
      endVersion - End version (inclusive). Must be greater than startVersion.
      layer - Layer id to be used for filtering. If the layer specified in request does not exist, an error is returned.
      additionalFields - If this parameter is set, the fields set during commit of the tile will be included in the response. metadata for partitions changed between versions
      Throws:
      DataClientNonRetriableException - in case of non-retriable error
      DataClientRetriableException - in case of retriable error
    • getChangesAsIterator

      Iterator<Partition> getChangesAsIterator(Long startVersion, Long endVersion, String layer, VersionedLayerContext context, Set<AdditionalField> additionalFields)
      Get metadata for the latest partition changes for a version range in a versioned layer. Only the latest change for each changed partition is returned, not intermediate changes. If the response contains a partition with an empty 'dataHandle' value, the partition was deleted at the version indicated by the 'version' field of the partition object. If a partition was created and deleted between the versions specified in the 'startVersion' and 'endVersion' parameters, the partition is included in the response with an empty dataHandle value. For example, if you request versions 0 to 10, and a partition was created in version 3 then deleted in version 7, it is included in the response with an empty dataHandle value.

      Fetch elements from the iterator may be a blocking call.

      Iterator returned by this function *MUST BE* consumed. If accidentally left not fully consumed it will be assumed the incoming data should remain back-pressured, and will stall the incoming data via TCP back-pressure mechanisms. Such stall connection can exhaust DataClient connection pool.

      Parameters:
      startVersion - Start version (exclusive). If the version specified has been deleted, the lowest existing version is assumed. This parameter cannot be null.
      endVersion - End version (inclusive). Must be greater than startVersion.
      layer - Layer id to be used for filtering. If the layer specified in request does not exist, an error is returned.
      context - The context where the operation will be performed on a composite layer.
      additionalFields - If this parameter is set, the fields set during commit of the tile will be included in the response. metadata for partitions changed between versions
      Throws:
      DataClientNonRetriableException - in case of non-retriable error
      DataClientRetriableException - in case of retriable error
    • getChangesAsStream

      org.apache.flink.streaming.api.datastream.DataStream<Partition> getChangesAsStream(org.apache.flink.streaming.api.environment.StreamExecutionEnvironment env, Long startVersion, Long endVersion, String layer, Set<AdditionalField> additionalFields)
      Get metadata for the latest partition changes for a version range in a versioned layer. Only the latest change for each changed partition is returned, not intermediate changes. If the response contains a partition with an empty 'dataHandle' value, the partition was deleted at the version indicated by the 'version' field of the partition object. If a partition was created and deleted between the versions specified in the 'startVersion' and 'endVersion' parameters, the partition is included in the response with an empty dataHandle value. For example, if you request versions 0 to 10, and a partition was created in version 3 then deleted in version 7, it is included in the response with an empty dataHandle value.

      DataStream returned by this function *MUST BE* consumed. If accidentally left not fully consumed it will be assumed the incoming data should remain back-pressured, and will stall the incoming data via TCP back-pressure mechanisms. Such stall connection can exhaust DataClient connection pool.

      Parameters:
      startVersion - Start version (exclusive). If the version specified has been deleted, the lowest existing version is assumed. This parameter cannot be null.
      endVersion - End version (inclusive). Must be greater than startVersion.
      layer - Layer id to be used for filtering. If the layer specified in request does not exist, an error is returned.
      additionalFields - If this parameter is set, the fields set during commit of the tile will be included in the response. metadata for partitions changed between versions
      Throws:
      DataClientNonRetriableException - in case of non-retriable error
      DataClientRetriableException - in case of retriable error
    • getChangesAsStream

      org.apache.flink.streaming.api.datastream.DataStream<Partition> getChangesAsStream(org.apache.flink.streaming.api.environment.StreamExecutionEnvironment env, Long startVersion, Long endVersion, String layer, VersionedLayerContext context, Set<AdditionalField> additionalFields)
      Get metadata for the latest partition changes for a version range in a versioned layer. Only the latest change for each changed partition is returned, not intermediate changes. If the response contains a partition with an empty 'dataHandle' value, the partition was deleted at the version indicated by the 'version' field of the partition object. If a partition was created and deleted between the versions specified in the 'startVersion' and 'endVersion' parameters, the partition is included in the response with an empty dataHandle value. For example, if you request versions 0 to 10, and a partition was created in version 3 then deleted in version 7, it is included in the response with an empty dataHandle value.

      DataStream returned by this function *MUST BE* consumed. If accidentally left not fully consumed it will be assumed the incoming data should remain back-pressured, and will stall the incoming data via TCP back-pressure mechanisms. Such stall connection can exhaust DataClient connection pool.

      Parameters:
      startVersion - Start version (exclusive). If the version specified has been deleted, the lowest existing version is assumed. This parameter cannot be null.
      endVersion - End version (inclusive). Must be greater than startVersion.
      layer - Layer id to be used for filtering. If the layer specified in request does not exist, an error is returned.
      context - The context where the operation will be performed on a composite layer.
      additionalFields - If this parameter is set, the fields set during commit of the tile will be included in the response. metadata for partitions changed between versions
      Throws:
      DataClientNonRetriableException - in case of non-retriable error
      DataClientRetriableException - in case of retriable error
    • getChangesAsStream

      org.apache.flink.streaming.api.datastream.DataStream<Partition> getChangesAsStream(org.apache.flink.streaming.api.environment.StreamExecutionEnvironment env, Long startVersion, Long endVersion, String layer, Set<AdditionalField> additionalFields, int parts)
      Get metadata for the latest partition changes for a version range in a versioned layer. Only the latest change for each changed partition is returned, not intermediate changes. If the response contains a partition with an empty 'dataHandle' value, the partition was deleted at the version indicated by the 'version' field of the partition object. If a partition was created and deleted between the versions specified in the 'startVersion' and 'endVersion' parameters, the partition is included in the response with an empty dataHandle value. For example, if you request versions 0 to 10, and a partition was created in version 3 then deleted in version 7, it is included in the response with an empty dataHandle value.

      DataStream returned by this function *MUST BE* consumed. If accidentally left not fully consumed it will be assumed the incoming data should remain back-pressured, and will stall the incoming data via TCP back-pressure mechanisms. Such stall connection can exhaust DataClient connection pool.

      Parameters:
      startVersion - Start version (exclusive). If the version specified has been deleted, the lowest existing version is assumed. This parameter cannot be null.
      endVersion - End version (inclusive). Must be greater than startVersion.
      layer - Layer id to be used for filtering. If the layer specified in request does not exist, an error is returned.
      additionalFields - If this parameter is set, the fields set during commit of the tile will be included in the response. metadata for partitions changed between versions
      parts - Indicates requested number of layer parts. User can split the single large query into multiple parts.
      Throws:
      DataClientNonRetriableException - in case of non-retriable error
      DataClientRetriableException - in case of retriable error
    • getChangesAsStream

      org.apache.flink.streaming.api.datastream.DataStream<Partition> getChangesAsStream(org.apache.flink.streaming.api.environment.StreamExecutionEnvironment env, Long startVersion, Long endVersion, String layer, VersionedLayerContext context, Set<AdditionalField> additionalFields, int parts)
      Get metadata for the latest partition changes for a version range in a versioned layer. Only the latest change for each changed partition is returned, not intermediate changes. If the response contains a partition with an empty 'dataHandle' value, the partition was deleted at the version indicated by the 'version' field of the partition object. If a partition was created and deleted between the versions specified in the 'startVersion' and 'endVersion' parameters, the partition is included in the response with an empty dataHandle value. For example, if you request versions 0 to 10, and a partition was created in version 3 then deleted in version 7, it is included in the response with an empty dataHandle value.

      DataStream returned by this function *MUST BE* consumed. If accidentally left not fully consumed it will be assumed the incoming data should remain back-pressured, and will stall the incoming data via TCP back-pressure mechanisms. Such stall connection can exhaust DataClient connection pool.

      Parameters:
      startVersion - Start version (exclusive). If the version specified has been deleted, the lowest existing version is assumed. This parameter cannot be null.
      endVersion - End version (inclusive). Must be greater than startVersion.
      layer - Layer id to be used for filtering. If the layer specified in request does not exist, an error is returned.
      context - The context where the operation will be performed on a composite layer.
      additionalFields - If this parameter is set, the fields set during commit of the tile will be included in the response. metadata for partitions changed between versions
      parts - Indicates requested number of layer parts. User can split the single large query into multiple parts.
      Throws:
      DataClientNonRetriableException - in case of non-retriable error
      DataClientRetriableException - in case of retriable error
    • getChangesById

      List<Partition> getChangesById(Long startVersion, Long endVersion, String layer, List<String> partitions, Set<AdditionalField> additionalFields)
      Get metadata for the latest partition changes for a version range in a versioned layer. Only the latest change for each changed partition is returned, not intermediate changes. If the response contains a partition with an empty 'dataHandle' value, the partition was deleted at the version indicated by the 'version' field of the partition object. If a partition was created and deleted between the versions specified in the 'startVersion' and 'endVersion' parameters, the partition is included in the response with an empty dataHandle value. For example, if you request versions 0 to 10, and a partition was created in version 3 then deleted in version 7, it is included in the response with an empty dataHandle value.

      Parameters:
      startVersion - Start version (exclusive). If the version specified has been deleted, the lowest existing version is assumed. This parameter cannot be null.
      endVersion - End version (inclusive). Must be greater than startVersion.
      layer - Layer id to be used for filtering. If the layer specified in request does not exist, an error is returned.
      partitions - Partition names to be used for filtering. If a partition specified in the request does not exist, it is skipped in the response.
      additionalFields - If this parameter is set, the fields set during commit of the tile will be included in the response.
      Returns:
      metadata for partitions changed between versions
      Throws:
      DataClientNonRetriableException - in case of non-retriable error
      DataClientRetriableException - in case of retriable error
    • getChangesById

      List<Partition> getChangesById(Long startVersion, Long endVersion, String layer, List<String> partitions, VersionedLayerContext context, Set<AdditionalField> additionalFields)
      Get metadata for the latest partition changes for a version range in a versioned layer. Only the latest change for each changed partition is returned, not intermediate changes. If the response contains a partition with an empty 'dataHandle' value, the partition was deleted at the version indicated by the 'version' field of the partition object. If a partition was created and deleted between the versions specified in the 'startVersion' and 'endVersion' parameters, the partition is included in the response with an empty dataHandle value. For example, if you request versions 0 to 10, and a partition was created in version 3 then deleted in version 7, it is included in the response with an empty dataHandle value.

      Parameters:
      startVersion - Start version (exclusive). If the version specified has been deleted, the lowest existing version is assumed. This parameter cannot be null.
      endVersion - End version (inclusive). Must be greater than startVersion.
      layer - Layer id to be used for filtering. If the layer specified in request does not exist, an error is returned.
      partitions - Partition names to be used for filtering. If a partition specified in the request does not exist, it is skipped in the response.
      context - The context where the operation will be performed on a composite layer.
      additionalFields - If this parameter is set, the fields set during commit of the tile will be included in the response.
      Returns:
      metadata for partitions changed between versions
      Throws:
      DataClientNonRetriableException - in case of non-retriable error
      DataClientRetriableException - in case of retriable error
    • getCompatibleVersionsAsIterator

      Iterator<CompatibleVersion> getCompatibleVersionsAsIterator(Set<CatalogVersion> dependencies) throws InterruptedException
      Gets a list of available catalog versions selected under the given dependencies

      Returns a list of versions of this catalog with one of the following properties:

      • the listed HRNs for these versions are present in the direct or indirect dependencies with the same version
      • these HRNs are not present

      Please note that versions that don't depend on any of the provided catalog HRNs are also considered compatible. The compatible versions are returned in reverse order, from the newest to the oldest.

      Parameters:
      dependencies - The catalog dependencies we want to search for
      Returns:
      a list of compatible versions
      Throws:
      NotFoundException - when catalog does not exist or the catalog doesn't contain any versions
      DataClientNonRetriableException - in case of non-retriable error
      DataClientRetriableException - in case of retriable error
      InterruptedException
    • getConfiguration

      CatalogConfiguration getConfiguration()
      Get catalog configuration.

      Returns:
      configuration of the catalog
      Throws:
      DataClientNonRetriableException - in case of non-retriable error
      DataClientRetriableException - in case of retriable error
    • getFeatureCollectionByBbox

      FeatureCollection getFeatureCollectionByBbox(String layer, BoundingBox bbox, Set<SearchParam> searchParam, Set<String> selection, OptionalInt limit)
      Returns the features which are inside a bounding box of the interactiveMap layer.

      Parameters:
      layer - Layer ID of the queried interactiveMap layer
      bbox - The bounding box in which the features needs to be searched; for meaning of bbox coordinates see https://developer.here.com/documentation/data-client-library/dev_guide/client/publish-data.html#interactive-layer-coords
      searchParam - List of additional feature filters resulting in a subset of features Allowed prefixes to be used for property search are 'p.' - used to access values stored in 'properties' property of the feature 'f.' - used to access values which are added by default in the stored feature, The possible values are: 'f.id', 'f.createdAt' and 'f.updatedAt'. Example - p.property_1=property_value_1 or f.special_property_1=special_property_value_1 The available operators are: "=" - equals "!=" - not equals ">=" or "=gte=" - greater than or equals "<=" or "=lte=" - less than or equals ">" or "=gt=" - greater than "<" or "=lt=" - less than "@>" or "=cs=" - contains
      selection - List of properties to be returned in the features result list. Example, 'p.property_name'
      limit - The maximum number of features in the response (Default is 30000)
      Throws:
      IllegalArgumentException - if the layer does not exist
      DataClientNonRetriableException - in case of non-retriable error
      DataClientRetriableException - in case of retriable error
    • getFeatureCollectionByIds

      FeatureCollection getFeatureCollectionByIds(String layer, List<String> ids, Set<String> selection)
      Returns all the features found for the provided list of IDs in the interactiveMap layer.

      Parameters:
      layer - Layer ID of the queried interactiveMap layer
      ids - List of feature IDs to be retrieved fom the interactiveMap layer
      selection - List of properties to be returned in the features result list. Example, 'p.property_name'
      Throws:
      IllegalArgumentException - if the layer does not exist
      DataClientNonRetriableException - in case of non-retriable error
      DataClientRetriableException - in case of retriable error
    • getFeatureCollectionByIterate

      FeatureCollection getFeatureCollectionByIterate(String layer, Optional<String> pageToken, Set<String> selection, OptionalInt limit)
      Returns the features by iterating over all the features in the interactiveMap layer.

      Parameters:
      layer - Layer ID of the queried interactiveMap layer
      pageToken - The page token where the iteration will continue
      selection - List of properties to be returned in the features result list. Example, 'p.property_name'
      limit - The maximum number of features in the response (Default is 30000)
      Throws:
      IllegalArgumentException - if the layer does not exist
      DataClientNonRetriableException - in case of non-retriable error
      DataClientRetriableException - in case of retriable error
    • getFeatureCollectionBySearchParam

      FeatureCollection getFeatureCollectionBySearchParam(String layer, Set<SearchParam> searchParam, Set<String> selection, OptionalInt limit)
      Returns the features by search params from the interactiveMap layer.

      Parameters:
      layer - Layer ID of the queried interactiveMap layer
      searchParam - List of additional feature filters resulting in a subset of features Allowed prefixes to be used for property search are 'p.' - used to access values stored in 'properties' property of the feature 'f.' - used to access values which are added by default in the stored feature. The possible values are: 'f.id', 'f.createdAt' and 'f.updatedAt'. Example - p.property_1=property_value_1 or f.special_property_1=special_property_value_1 The available operators are: "=" - equals "!=" - not equals ">=" or "=gte=" - greater than or equals "<=" or "=lte=" - less than or equals ">" or "=gt=" - greater than "<" or "=lt=" - less than "@>" or "=cs=" - contains
      selection - List of properties to be returned in the features result list. Example, 'p.property_name'
      limit - The maximum number of features in the response (Default is 30000)
      Throws:
      IllegalArgumentException - if the layer does not exist
      DataClientNonRetriableException - in case of non-retriable error
      DataClientRetriableException - in case of retriable error
    • getFeatureCollectionBySpatialSearchCircle

      FeatureCollection getFeatureCollectionBySpatialSearchCircle(String layer, Double latitude, Double longitude, Integer radius, Set<SearchParam> searchParam, Set<String> selection, OptionalInt limit)
      Returns the features which are inside the specified circle with specified latitude and longitude as center.

      Parameters:
      layer - Layer ID of the queried interactiveMap layer
      latitude - The latitude in WGS'84 decimal degree (-90 to +90) of the center Point
      longitude - The longitude in WGS'84 decimal degree (-180 to +180) of the center Point
      radius - Radius in meter of the circle
      searchParam - List of additional feature filters resulting in a subset of features Allowed prefixes to be used for property search are 'p.' - used to access values stored in 'properties' property of the feature 'f.' - used to access values which are added by default in the stored feature. The possible values are: 'f.id', 'f.createdAt' and 'f.updatedAt'. Example - p.property_1=property_value_1 or f.special_property_1=special_property_value_1 The available operators are: "=" - equals "!=" - not equals ">=" or "=gte=" - greater than or equals "<=" or "=lte=" - less than or equals ">" or "=gt=" - greater than "<" or "=lt=" - less than "@>" or "=cs=" - contains
      selection - List of properties to be returned in the features result list. Example, 'p.property_name'
      limit - The maximum number of features in the response (Default is 30000)
      Throws:
      IllegalArgumentException - if the layer does not exist
      DataClientNonRetriableException - in case of non-retriable error
      DataClientRetriableException - in case of retriable error
    • getFeatureCollectionBySpatialSearchFeature

      FeatureCollection getFeatureCollectionBySpatialSearchFeature(String layer, String refCatalogHrn, String refLayerId, String refFeatureId, OptionalInt radius, Set<SearchParam> searchParam, Set<String> selection, OptionalInt limit)
      Returns the features which intersects the specified reference feature's geometry.

      Parameters:
      layer - Layer ID of the queried interactiveMap layer
      refCatalogHrn - The catalog HRN where the layer containing the referenced feature is stored
      refLayerId - The layer id where the referenced feature is stored
      refFeatureId - The feature ID in the referenced layer
      radius - Radius in meter which is added as buffer to the geometry
      searchParam - List of additional feature filters resulting in a subset of features Allowed prefixes to be used for property search are 'p.' - used to access values stored in 'properties' property of the feature 'f.' - used to access values which are added by default in the stored feature. The possible values are: 'f.id', 'f.createdAt' and 'f.updatedAt'. Example - p.property_1=property_value_1 or f.special_property_1=special_property_value_1 The available operators are: "=" - equals "!=" - not equals ">=" or "=gte=" - greater than or equals "<=" or "=lte=" - less than or equals ">" or "=gt=" - greater than "<" or "=lt=" - less than "@>" or "=cs=" - contains
      selection - List of properties to be returned in the features result list. Example, 'p.property_name'
      limit - The maximum number of features in the response (Default is 30000)
      Throws:
      IllegalArgumentException - if the layer does not exist
      DataClientNonRetriableException - in case of non-retriable error
      DataClientRetriableException - in case of retriable error
    • getFeatureCollectionBySpatialSearchGeometry

      FeatureCollection getFeatureCollectionBySpatialSearchGeometry(String layer, Geometry geometry, OptionalInt radius, Set<SearchParam> searchParam, Set<String> selection, OptionalInt limit)
      Returns the features which intersects the provided geometry.

      Parameters:
      layer - Layer ID of the queried interactiveMap layer
      geometry - The geometry which is used as origin for the search
      radius - Radius in meter which is added as buffer to the geometry
      searchParam - List of additional feature filters resulting in a subset of features Allowed prefixes to be used for property search are 'p.' - used to access values stored in 'properties' property of the feature 'f.' - used to access values which are added by default in the stored feature. The possible values are: 'f.id', 'f.createdAt' and 'f.updatedAt'. Example - p.property_1=property_value_1 or f.special_property_1=special_property_value_1 The available operators are: "=" - equals "!=" - not equals ">=" or "=gte=" - greater than or equals "<=" or "=lte=" - less than or equals ">" or "=gt=" - greater than "<" or "=lt=" - less than "@>" or "=cs=" - contains
      selection - List of properties to be returned in the features result list. Example, 'p.property_name'
      limit - The maximum number of features in the response (Default is 30000)
      Throws:
      IllegalArgumentException - if the layer does not exist
      DataClientNonRetriableException - in case of non-retriable error
      DataClientRetriableException - in case of retriable error
    • getFeatureCollectionByTile

      FeatureCollection getFeatureCollectionByTile(String layer, String tileId, InteractiveMapOptions.TileType tileType, Set<SearchParam> searchParam, Set<String> selection, OptionalInt limit)
      Returns the features selected by tile type and tile id of the interactiveMap layer.

      Parameters:
      layer - Layer ID of the queried interactiveMap layer
      tileId - The tile ID to be queried
      tileType - The type of tile identifier. Available values are quadkey, web, tms, here
      searchParam - List of additional feature filters resulting in a subset of features Allowed prefixes to be used for property search are 'p.' - used to access values stored in 'properties' property of the feature 'f.' - used to access values which are added by default in the stored feature. The possible values are: 'f.id', 'f.createdAt' and 'f.updatedAt'. Example - p.property_1=property_value_1 or f.special_property_1=special_property_value_1 The available operators are: "=" - equals "!=" - not equals ">=" or "=gte=" - greater than or equals "<=" or "=lte=" - less than or equals ">" or "=gt=" - greater than "<" or "=lt=" - less than "@>" or "=cs=" - contains
      selection - List of properties to be returned in the features result list. Example, 'p.property_name'
      limit - The maximum number of features in the response (Default is 30000)
      Throws:
      IllegalArgumentException - if the layer does not exist
      DataClientNonRetriableException - in case of non-retriable error
      DataClientRetriableException - in case of retriable error
    • getIMLStatistics

      Statistics getIMLStatistics(String layerId)
      Returns the statistics information of the interactiveMap layer.

      Parameters:
      layerId - Layer ID of the queried interactiveMap layer
      Throws:
      IllegalArgumentException - if the layer does not exist
      DataClientNonRetriableException - in case of non-retriable error
      DataClientRetriableException - in case of retriable error
    • getLatestVersion

      OptionalLong getLatestVersion(OptionalLong startVersion)
      Get latest version available for the given catalog.

      Parameters:
      startVersion - Previously discovered version. Always specify version if you've ever discovered it before and use None only if you are processing data of this catalog for the first time. If the version specified has been deleted, the lowest existing version is assumed.
      Returns:
      Returns Some(version) - latest version for the given catalog. If the catalog doesn't contain any versions None will be returned.
      Throws:
      DataClientNonRetriableException - in case of non-retriable error
      DataClientRetriableException - in case of retriable error
    • getLayerVersions

      LayerVersions getLayerVersions(Long version)
      Get the latest change per layer for a given version.

      Returns information about catalog version. It will return an error if the catalog does not have any version, or if the version passed in the query parameter does not exist.

      Parameters:
      version - Catalog version.
      Returns:
      the latest change per layer for a given version
      Throws:
      DataClientNonRetriableException - in case of non-retriable error
      DataClientRetriableException - in case of retriable error
    • getMinimumVersion

      OptionalLong getMinimumVersion()
      Get minimum version available for the given catalog.

      Returns:
      Returns Some(version) - minimum version for the given catalog. If the catalog doesn't contain any versions None will be returned.
      Throws:
      DataClientNonRetriableException - in case of non-retriable error
      DataClientRetriableException - in case of retriable error
    • getPartitions

      org.apache.flink.api.connector.source.Source<Partition,? extends org.apache.flink.api.connector.source.SourceSplit,?> getPartitions(Long version, String layer, Set<AdditionalField> additionalFields)
      Get metadata for requested partitions filtered by layer.

      Source returned by this function *MUST BE* consumed. If accidentally left not fully consumed it will be assumed the incoming data should remain back-pressured, and will stall the incoming data via TCP back-pressure mechanisms. Such stall connection can exhaust DataClient connection pool.

      Parameters:
      version - Catalog version. This parameter cannot be null.
      layer - Layer id to be used for filtering. If the layer specified in request does not exist, an error is returned.
      additionalFields - If this parameter is set, the fields set during commit of the tile will be included in the response.
      Returns:
      metadata for requested partitions
      Throws:
      DataClientNonRetriableException - in case of non-retriable error
      DataClientRetriableException - in case of retriable error
    • getPartitions

      org.apache.flink.api.connector.source.Source<Partition,? extends org.apache.flink.api.connector.source.SourceSplit,?> getPartitions(Long version, String layer, VersionedLayerContext context, Set<AdditionalField> additionalFields)
      Get metadata for requested partitions filtered by layer.

      Source returned by this function *MUST BE* consumed. If accidentally left not fully consumed it will be assumed the incoming data should remain back-pressured, and will stall the incoming data via TCP back-pressure mechanisms. Such stall connection can exhaust DataClient connection pool.

      Parameters:
      version - Catalog version. This parameter cannot be null.
      layer - Layer id to be used for filtering. If the layer specified in request does not exist, an error is returned.
      context - The context where the operation will be performed on a composite layer.
      additionalFields - If this parameter is set, the fields set during commit of the tile will be included in the response.
      Returns:
      metadata for requested partitions
      Throws:
      DataClientNonRetriableException - in case of non-retriable error
      DataClientRetriableException - in case of retriable error
    • getPartitionsAsIterator

      Iterator<Partition> getPartitionsAsIterator(Long version, String layer, Set<AdditionalField> additionalFields)
      Get metadata for requested partitions filtered by layer. Fetch elements from the iterator may be a blocking call.

      Iterator returned by this function *MUST BE* consumed. If accidentally left not fully consumed it will be assumed the incoming data should remain back-pressured, and will stall the incoming data via TCP back-pressure mechanisms. Such stall connection can exhaust DataClient connection pool.

      Parameters:
      version - Catalog version. This parameter cannot be null.
      layer - Layer id to be used for filtering. If the layer specified in request does not exist, an error is returned.
      additionalFields - If this parameter is set, the fields set during commit of the tile will be included in the response.
      Returns:
      metadata for requested partitions
      Throws:
      DataClientNonRetriableException - in case of non-retriable error
      DataClientRetriableException - in case of retriable error
    • getPartitionsAsIterator

      Iterator<Partition> getPartitionsAsIterator(Long version, String layer, VersionedLayerContext context, Set<AdditionalField> additionalFields)
      Get metadata for requested partitions filtered by layer. Fetch elements from the iterator may be a blocking call.

      Iterator returned by this function *MUST BE* consumed. If accidentally left not fully consumed it will be assumed the incoming data should remain back-pressured, and will stall the incoming data via TCP back-pressure mechanisms. Such stall connection can exhaust DataClient connection pool.

      Parameters:
      version - Catalog version. This parameter cannot be null.
      layer - Layer id to be used for filtering. If the layer specified in request does not exist, an error is returned.
      context - The context where the operation will be performed on a composite layer.
      additionalFields - If this parameter is set, the fields set during commit of the tile will be included in the response.
      Returns:
      metadata for requested partitions
      Throws:
      DataClientNonRetriableException - in case of non-retriable error
      DataClientRetriableException - in case of retriable error
    • getPartitionsAsStream

      org.apache.flink.streaming.api.datastream.DataStream<Partition> getPartitionsAsStream(org.apache.flink.streaming.api.environment.StreamExecutionEnvironment env, Long version, String layer, Set<AdditionalField> additionalFields)
      Get metadata for requested partitions filtered by layer.

      DataStream returned by this function *MUST BE* consumed. If accidentally left not fully consumed it will be assumed the incoming data should remain back-pressured, and will stall the incoming data via TCP back-pressure mechanisms. Such stall connection can exhaust DataClient connection pool.

      Parameters:
      version - Catalog version. This parameter cannot be null.
      layer - Layer id to be used for filtering. If the layer specified in request does not exist, an error is returned.
      additionalFields - If this parameter is set, the fields set during commit of the tile will be included in the response.
      Returns:
      metadata for requested partitions
      Throws:
      DataClientNonRetriableException - in case of non-retriable error
      DataClientRetriableException - in case of retriable error
    • getPartitionsAsStream

      org.apache.flink.streaming.api.datastream.DataStream<Partition> getPartitionsAsStream(org.apache.flink.streaming.api.environment.StreamExecutionEnvironment env, Long version, String layer, VersionedLayerContext context, Set<AdditionalField> additionalFields)
      Get metadata for requested partitions filtered by layer.

      DataStream returned by this function *MUST BE* consumed. If accidentally left not fully consumed it will be assumed the incoming data should remain back-pressured, and will stall the incoming data via TCP back-pressure mechanisms. Such stall connection can exhaust DataClient connection pool.

      Parameters:
      version - Catalog version. This parameter cannot be null.
      layer - Layer id to be used for filtering. If the layer specified in request does not exist, an error is returned.
      context - The context where the operation will be performed on a composite layer.
      additionalFields - If this parameter is set, the fields set during commit of the tile will be included in the response.
      Returns:
      metadata for requested partitions
      Throws:
      DataClientNonRetriableException - in case of non-retriable error
      DataClientRetriableException - in case of retriable error
    • getPartitionsAsStream

      org.apache.flink.streaming.api.datastream.DataStream<Partition> getPartitionsAsStream(org.apache.flink.streaming.api.environment.StreamExecutionEnvironment env, Long version, String layer, Set<AdditionalField> additionalFields, int parts)
      Get metadata for requested partitions filtered by layer.

      DataStream returned by this function *MUST BE* consumed. If accidentally left not fully consumed it will be assumed the incoming data should remain back-pressured, and will stall the incoming data via TCP back-pressure mechanisms. Such stall connection can exhaust DataClient connection pool.

      Parameters:
      version - Catalog version. This parameter cannot be null.
      layer - Layer id to be used for filtering. If the layer specified in request does not exist, an error is returned.
      additionalFields - If this parameter is set, the fields set during commit of the tile will be included in the response.
      parts - Indicates requested number of layer parts. User can split the single large query into multiple parts.
      Returns:
      metadata for requested partitions
      Throws:
      DataClientNonRetriableException - in case of non-retriable error
      DataClientRetriableException - in case of retriable error
    • getPartitionsAsStream

      org.apache.flink.streaming.api.datastream.DataStream<Partition> getPartitionsAsStream(org.apache.flink.streaming.api.environment.StreamExecutionEnvironment env, Long version, String layer, VersionedLayerContext context, Set<AdditionalField> additionalFields, int parts)
      Get metadata for requested partitions filtered by layer.

      DataStream returned by this function *MUST BE* consumed. If accidentally left not fully consumed it will be assumed the incoming data should remain back-pressured, and will stall the incoming data via TCP back-pressure mechanisms. Such stall connection can exhaust DataClient connection pool.

      Parameters:
      version - Catalog version. This parameter cannot be null.
      layer - Layer id to be used for filtering. If the layer specified in request does not exist, an error is returned.
      context - The context where the operation will be performed on a composite layer.
      additionalFields - If this parameter is set, the fields set during commit of the tile will be included in the response.
      parts - Indicates requested number of layer parts. User can split the single large query into multiple parts.
      Returns:
      metadata for requested partitions
      Throws:
      DataClientNonRetriableException - in case of non-retriable error
      DataClientRetriableException - in case of retriable error
    • getPartitionsById

      List<Partition> getPartitionsById(Long version, String layer, List<String> partitions, Set<AdditionalField> additionalFields)
      Get metadata for requested partitions filtered by layer and partitions.

      Parameters:
      version - Catalog version. This parameter cannot be null.
      layer - Layer id to be used for filtering. If the layer specified in request does not exist, an error is returned.
      partitions - Partition names to be used for filtering. If a partition specified in the request does not exist, it is skipped in the response.
      additionalFields - If this parameter is set, the fields set during commit of the tile will be included in the response.
      Returns:
      metadata for requested partitions
      Throws:
      DataClientNonRetriableException - in case of non-retriable error
      DataClientRetriableException - in case of retriable error
    • getPartitionsById

      List<Partition> getPartitionsById(Long version, String layer, List<String> partitions, VersionedLayerContext context, Set<AdditionalField> additionalFields)
      Get metadata for requested partitions filtered by layer and partitions.

      Parameters:
      version - Catalog version. This parameter cannot be null.
      layer - Layer id to be used for filtering. If the layer specified in request does not exist, an error is returned.
      partitions - Partition names to be used for filtering. If a partition specified in the request does not exist, it is skipped in the response.
      context - The context where the operation will be performed on a composite layer.
      additionalFields - If this parameter is set, the fields set during commit of the tile will be included in the response.
      Returns:
      metadata for requested partitions
      Throws:
      DataClientNonRetriableException - in case of non-retriable error
      DataClientRetriableException - in case of retriable error
    • getVersion

      VersionInfo getVersion(Long version)
      Get version information for given catalog version

      To fetch version information for specified catalog version (i.e. for initial catalog version pass 0L).

      Parameters:
      version - version. Must be greater than or equal to zero. This parameter cannot be null.
      Returns:
      version information
      Throws:
      DataClientNonRetriableException - in case of non-retriable error
      DataClientRetriableException - in case of retriable error
    • getVersions

      List<VersionInfo> getVersions(Long startVersion, Long endVersion)
      Get version information for given catalog version range

      1000 is maximum number of versions which can be returned per one call. The versions are returned in ascending order (oldest versions first).

      To fetch version information for initial catalog version (i.e. version 0) pass startVersion -1L.

      Parameters:
      startVersion - Start version (exclusive). If the version specified has been deleted, the lowest existing version is assumed. This parameter cannot be null.
      endVersion - End version (inclusive). Must be greater than startVersion.
      Returns:
      version information for given catalog version range
      Throws:
      DataClientNonRetriableException - in case of non-retriable error
      DataClientRetriableException - in case of retriable error
    • getVolatilePartitions

      org.apache.flink.api.connector.source.Source<Partition,? extends org.apache.flink.api.connector.source.SourceSplit,?> getVolatilePartitions(String layer, VolatilePartitionsFilter filter, Set<AdditionalField> additionalFields)
      Get metadata for volatile partitions that satisfied layer's and filter's condition.

      Iterator returned by this function *MUST BE* consumed. If accidentally left not fully consumed it will be assumed the incoming data should remain back-pressured, and will stall the incoming data via TCP back-pressure mechanisms. Such stall connection can exhaust DataClient connection pool.

      Parameters:
      filter - Volatile partitions filter which uses for fetch only needed partitions
      layer - Layer id to be used for filtering. If the layer specified in request does not exist, an error is returned.
      additionalFields - If this parameter is set, the fields set during commit of the tile will be included in the response.
      Returns:
      metadata for requested partitions
      Throws:
      DataClientNonRetriableException - in case of non-retriable error
      DataClientRetriableException - in case of retriable error
    • getVolatilePartitionsAsIterator

      Iterator<Partition> getVolatilePartitionsAsIterator(String layer, VolatilePartitionsFilter filter, Set<AdditionalField> additionalFields)
      Get metadata for volatile partitions that satisfied layer's and filter's condition. Fetch elements from the iterator may be a blocking call.

      Iterator returned by this function *MUST BE* consumed. If accidentally left not fully consumed it will be assumed the incoming data should remain back-pressured, and will stall the incoming data via TCP back-pressure mechanisms. Such stall connection can exhaust DataClient connection pool.

      Parameters:
      filter - Volatile partitions filter which uses for fetch only needed partitions
      layer - Layer id to be used for filtering. If the layer specified in request does not exist, an error is returned.
      additionalFields - If this parameter is set, the fields set during commit of the tile will be included in the response.
      Returns:
      metadata for requested partitions
      Throws:
      DataClientNonRetriableException - in case of non-retriable error
      DataClientRetriableException - in case of retriable error
    • queryIndex

      org.apache.flink.api.connector.source.Source<IndexPartition,? extends org.apache.flink.api.connector.source.SourceSplit,?> queryIndex(String layer, Optional<String> queryString)
      Retrieve all IndexPartitions when no query is provided, otherwise only the IndexPartitions which satisfy the provided query written in the RSQL query language.

      Parameters:
      layer - Layer ID of the queried index layer
      queryString - String written in the RSQL query language to query the index layer
      Throws:
      IllegalArgumentException - if the layer does not exist
      DataClientNonRetriableException - in case of non-retriable error
      DataClientRetriableException - in case of retriable error
    • queryIndex

      org.apache.flink.api.connector.source.Source<IndexPartition,? extends org.apache.flink.api.connector.source.SourceSplit,?> queryIndex(String layer, Optional<String> queryString, String partId)
      Retrieve all IndexPartitions when no query is provided, otherwise only the IndexPartitions which satisfy the provided query written in the RSQL query language.

      Parameters:
      layer - Layer ID of the queried index layer
      queryString - String written in the RSQL query language to query the index layer
      partId - Indicates which part of the layer shall be queried.
      Throws:
      IllegalArgumentException - if the layer does not exist
      DataClientNonRetriableException - in case of non-retriable error
      DataClientRetriableException - in case of retriable error
    • queryIndexAsIterator

      Iterator<IndexPartition> queryIndexAsIterator(String layer, Optional<String> queryString)
      Retrieve all IndexPartitions when no query is provided, otherwise only the IndexPartitions which satisfy the provided query written in the RSQL query language.

      Example:

      val partitions: Iterator[com.here.platform.data.client.javadsl.IndexPartition] = queryApi.queryIndexAsIterator(layer, "key1!=abc;key2<42,key3==true")
      @param layer Layer ID of the queried index layer @param queryString String written in the <a href="https://github.com/jirutka/rsql-parser">RSQL query language</a> to query the index layer @throws java.lang.IllegalArgumentException if the layer does not exist
    • queryIndexAsStream

      org.apache.flink.streaming.api.datastream.DataStream<IndexPartition> queryIndexAsStream(org.apache.flink.streaming.api.environment.StreamExecutionEnvironment env, String layer, Optional<String> queryString)
      Retrieve all the IndexPartitions when no query is provided, otherwise only the IndexPartitions which satisfy the provided query written in the RSQL query language.

      Parameters:
      layer - Layer ID of the queried index layer
      queryString - String written in the RSQL query language to query the index layer
      Throws:
      IllegalArgumentException - if the layer does not exist
      DataClientNonRetriableException - in case of non-retriable error
      DataClientRetriableException - in case of retriable error
    • queryIndexAsStream

      org.apache.flink.streaming.api.datastream.DataStream<IndexPartition> queryIndexAsStream(org.apache.flink.streaming.api.environment.StreamExecutionEnvironment env, String layer, Optional<String> queryString, int parts)
      Retrieve all the IndexPartitions when no query is provided, otherwise only the IndexPartitions which satisfy the provided query written in the RSQL query language.

      Parameters:
      layer - Layer ID of the queried index layer
      queryString - String written in the RSQL query language to query the index layer
      parts - Indicates requested number of layer parts. User can split the single large query into multiple parts.
      Throws:
      IllegalArgumentException - if the layer does not exist
      DataClientNonRetriableException - in case of non-retriable error
      DataClientRetriableException - in case of retriable error
    • queryIndexDeleteStatus

      DeleteIndexesStatusResponse queryIndexDeleteStatus(String layer, String deleteId)
      Retrieve the status of the index layer content delete request.

      Parameters:
      layer - Layer ID of the queried index layer
      deleteId - Delete request ID
      Throws:
      IllegalArgumentException - if the layer does not exist
      DataClientNonRetriableException - in case of non-retriable error
      DataClientRetriableException - in case of retriable error
    • queryIndexParts

      IndexParts queryIndexParts(String layer, Integer parts)
      Returns IndexParts which represent the layer parts that can be used to limit the scope of a query operation This allows to run parallel queries with multiple parts. The user has to provide the desired number of parts and the service will return a list of Part Ids. Please note in some cases the requested number of parts will make them too small and in this case the service might return lesser amount of the parts than requested.

      Parameters:
      layer - Layer ID of the queried index layer
      parts - Indicates requested number of layer parts. User can split the single large query into multiple parts.
      Throws:
      IllegalArgumentException - if the layer does not exist
    • subscribe

      org.apache.flink.api.connector.source.Source<Partition,? extends org.apache.flink.api.connector.source.SourceSplit,?> subscribe(String layer, ConsumerSettings consumerSettings)
      Get metadata for partitions of stream layer.

      Parameters:
      layer - Layer id to be used for subscription. If the layer specified in request does not exist or not a stream layer, an error is returned.
      consumerSettings - consumer settings
      Returns:
      metadata for partitions published to stream layer
      Throws:
      DataClientNonRetriableException - in case of non-retriable error
      DataClientRetriableException - in case of retriable error
    • subscribeToNotifications

      org.apache.flink.api.connector.source.Source<BatchPublicationNotification,? extends org.apache.flink.api.connector.source.SourceSplit,?> subscribeToNotifications(NotificationConsumerSettings consumerSettings)
      Subscribe to catalog notifications. The catalog must have notificationsEnabled to support it.

      Parameters:
      consumerSettings - consumer settings
      Throws:
      DataClientNonRetriableException - in case of non-retriable error
      DataClientRetriableException - in case of retriable error