Class FlinkQueryApiImpl

java.lang.Object
com.here.platform.data.client.flink.javadsl.FlinkQueryApiImpl
All Implemented Interfaces:
FlinkQueryApi

public class FlinkQueryApiImpl extends Object implements FlinkQueryApi
  • Constructor Details

    • FlinkQueryApiImpl

      public FlinkQueryApiImpl(HRN hrn, Settings settings, scala.Function0<QueryApi> toCreateQueryApi)
  • Method Details

    • getChanges

      public 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)
      Description copied from interface: FlinkQueryApi
      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.

      Specified by:
      getChanges in interface FlinkQueryApi
      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
    • getChanges

      public 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)
      Description copied from interface: FlinkQueryApi
      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.

      Specified by:
      getChanges in interface FlinkQueryApi
      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
    • getChangesAsIterator

      public Iterator<Partition> getChangesAsIterator(Long startVersion, Long endVersion, String layer, Set<AdditionalField> additionalFields)
      Description copied from interface: FlinkQueryApi
      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.

      Specified by:
      getChangesAsIterator in interface FlinkQueryApi
      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
    • getChangesAsIterator

      public Iterator<Partition> getChangesAsIterator(Long startVersion, Long endVersion, String layer, VersionedLayerContext context, Set<AdditionalField> additionalFields)
      Description copied from interface: FlinkQueryApi
      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.

      Specified by:
      getChangesAsIterator in interface FlinkQueryApi
      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
    • getChangesAsStream

      public 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)
      Description copied from interface: FlinkQueryApi
      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.

      Specified by:
      getChangesAsStream in interface FlinkQueryApi
      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
    • getChangesAsStream

      public 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)
      Description copied from interface: FlinkQueryApi
      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.

      Specified by:
      getChangesAsStream in interface FlinkQueryApi
      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
    • getChangesAsStream

      public 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)
      Description copied from interface: FlinkQueryApi
      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.

      Specified by:
      getChangesAsStream in interface FlinkQueryApi
      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.
    • getChangesAsStream

      public 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)
      Description copied from interface: FlinkQueryApi
      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.

      Specified by:
      getChangesAsStream in interface FlinkQueryApi
      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.
    • getChangesById

      public List<Partition> getChangesById(Long startVersion, Long endVersion, String layer, List<String> partitions, Set<AdditionalField> additionalFields)
      Description copied from interface: FlinkQueryApi
      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.

      Specified by:
      getChangesById in interface FlinkQueryApi
      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
    • getChangesById

      public List<Partition> getChangesById(Long startVersion, Long endVersion, String layer, List<String> partitions, VersionedLayerContext context, Set<AdditionalField> additionalFields)
      Description copied from interface: FlinkQueryApi
      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.

      Specified by:
      getChangesById in interface FlinkQueryApi
      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
    • getCompatibleVersionsAsIterator

      public Iterator<CompatibleVersion> getCompatibleVersionsAsIterator(Set<CatalogVersion> dependencies)
      Description copied from interface: FlinkQueryApi
      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.

      Specified by:
      getCompatibleVersionsAsIterator in interface FlinkQueryApi
      Parameters:
      dependencies - The catalog dependencies we want to search for
      Returns:
      a list of compatible versions
    • getConfiguration

      public CatalogConfiguration getConfiguration()
      Description copied from interface: FlinkQueryApi
      Get catalog configuration.

      Specified by:
      getConfiguration in interface FlinkQueryApi
      Returns:
      configuration of the catalog
    • getFeatureCollectionByBbox

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

      Specified by:
      getFeatureCollectionByBbox in interface FlinkQueryApi
      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)
    • getFeatureCollectionByIds

      public FeatureCollection getFeatureCollectionByIds(String layer, List<String> ids, Set<String> selection)
      Description copied from interface: FlinkQueryApi
      Returns all the features found for the provided list of IDs in the interactiveMap layer.

      Specified by:
      getFeatureCollectionByIds in interface FlinkQueryApi
      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'
    • getFeatureCollectionByIterate

      public FeatureCollection getFeatureCollectionByIterate(String layer, Optional<String> pageToken, Set<String> selection, OptionalInt limit)
      Description copied from interface: FlinkQueryApi
      Returns the features by iterating over all the features in the interactiveMap layer.

      Specified by:
      getFeatureCollectionByIterate in interface FlinkQueryApi
      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)
    • getFeatureCollectionBySearchParam

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

      Specified by:
      getFeatureCollectionBySearchParam in interface FlinkQueryApi
      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)
    • getFeatureCollectionBySpatialSearchCircle

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

      Specified by:
      getFeatureCollectionBySpatialSearchCircle in interface FlinkQueryApi
      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)
    • getFeatureCollectionBySpatialSearchFeature

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

      Specified by:
      getFeatureCollectionBySpatialSearchFeature in interface FlinkQueryApi
      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)
    • getFeatureCollectionBySpatialSearchGeometry

      public FeatureCollection getFeatureCollectionBySpatialSearchGeometry(String layer, Geometry geometry, OptionalInt radius, Set<SearchParam> searchParam, Set<String> selection, OptionalInt limit)
      Description copied from interface: FlinkQueryApi
      Returns the features which intersects the provided geometry.

      Specified by:
      getFeatureCollectionBySpatialSearchGeometry in interface FlinkQueryApi
      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)
    • getFeatureCollectionByTile

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

      Specified by:
      getFeatureCollectionByTile in interface FlinkQueryApi
      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)
    • getIMLStatistics

      public Statistics getIMLStatistics(String layerId)
      Description copied from interface: FlinkQueryApi
      Returns the statistics information of the interactiveMap layer.

      Specified by:
      getIMLStatistics in interface FlinkQueryApi
      Parameters:
      layerId - Layer ID of the queried interactiveMap layer
    • getLatestVersion

      public OptionalLong getLatestVersion(OptionalLong startVersion)
      Description copied from interface: FlinkQueryApi
      Get latest version available for the given catalog.

      Specified by:
      getLatestVersion in interface FlinkQueryApi
      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.
    • getLayerVersions

      public LayerVersions getLayerVersions(Long version)
      Description copied from interface: FlinkQueryApi
      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.

      Specified by:
      getLayerVersions in interface FlinkQueryApi
      Parameters:
      version - Catalog version.
      Returns:
      the latest change per layer for a given version
    • getMinimumVersion

      public OptionalLong getMinimumVersion()
      Description copied from interface: FlinkQueryApi
      Get minimum version available for the given catalog.

      Specified by:
      getMinimumVersion in interface FlinkQueryApi
      Returns:
      Returns Some(version) - minimum version for the given catalog. If the catalog doesn't contain any versions None will be returned.
    • getPartitions

      public org.apache.flink.api.connector.source.Source<Partition,? extends org.apache.flink.api.connector.source.SourceSplit,?> getPartitions(Long version, String layer, Set<AdditionalField> additionalFields)
      Description copied from interface: FlinkQueryApi
      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.

      Specified by:
      getPartitions in interface FlinkQueryApi
      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
    • getPartitions

      public 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)
      Description copied from interface: FlinkQueryApi
      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.

      Specified by:
      getPartitions in interface FlinkQueryApi
      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
    • getPartitionsAsIterator

      public Iterator<Partition> getPartitionsAsIterator(Long version, String layer, Set<AdditionalField> additionalFields)
      Description copied from interface: FlinkQueryApi
      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.

      Specified by:
      getPartitionsAsIterator in interface FlinkQueryApi
      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
    • getPartitionsAsIterator

      public Iterator<Partition> getPartitionsAsIterator(Long version, String layer, VersionedLayerContext context, Set<AdditionalField> additionalFields)
      Description copied from interface: FlinkQueryApi
      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.

      Specified by:
      getPartitionsAsIterator in interface FlinkQueryApi
      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
    • getPartitionsAsStream

      public org.apache.flink.streaming.api.datastream.DataStream<Partition> getPartitionsAsStream(org.apache.flink.streaming.api.environment.StreamExecutionEnvironment env, Long version, String layer, Set<AdditionalField> additionalFields)
      Description copied from interface: FlinkQueryApi
      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.

      Specified by:
      getPartitionsAsStream in interface FlinkQueryApi
      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
    • getPartitionsAsStream

      public 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)
      Description copied from interface: FlinkQueryApi
      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.

      Specified by:
      getPartitionsAsStream in interface FlinkQueryApi
      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
    • getPartitionsAsStream

      public 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)
      Description copied from interface: FlinkQueryApi
      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.

      Specified by:
      getPartitionsAsStream in interface FlinkQueryApi
      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
    • getPartitionsAsStream

      public 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)
      Description copied from interface: FlinkQueryApi
      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.

      Specified by:
      getPartitionsAsStream in interface FlinkQueryApi
      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
    • getPartitionsById

      public List<Partition> getPartitionsById(Long version, String layer, List<String> partitions, Set<AdditionalField> additionalFields)
      Description copied from interface: FlinkQueryApi
      Get metadata for requested partitions filtered by layer and partitions.

      Specified by:
      getPartitionsById in interface FlinkQueryApi
      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
    • getPartitionsById

      public List<Partition> getPartitionsById(Long version, String layer, List<String> partitions, VersionedLayerContext context, Set<AdditionalField> additionalFields)
      Description copied from interface: FlinkQueryApi
      Get metadata for requested partitions filtered by layer and partitions.

      Specified by:
      getPartitionsById in interface FlinkQueryApi
      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
    • getProducedType

      public org.apache.flink.api.common.typeinfo.TypeInformation<Partition> getProducedType()
    • getVersion

      public VersionInfo getVersion(Long version)
      Description copied from interface: FlinkQueryApi
      Get version information for given catalog version

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

      Specified by:
      getVersion in interface FlinkQueryApi
      Parameters:
      version - version. Must be greater than or equal to zero. This parameter cannot be null.
      Returns:
      version information
    • getVersions

      public List<VersionInfo> getVersions(Long startVersion, Long endVersion)
      Description copied from interface: FlinkQueryApi
      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.

      Specified by:
      getVersions in interface FlinkQueryApi
      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
    • getVolatilePartitions

      public org.apache.flink.api.connector.source.Source<Partition,? extends org.apache.flink.api.connector.source.SourceSplit,?> getVolatilePartitions(String layer, VolatilePartitionsFilter filter, Set<AdditionalField> additionalFields)
      Description copied from interface: FlinkQueryApi
      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.

      Specified by:
      getVolatilePartitions in interface FlinkQueryApi
      Parameters:
      layer - Layer id to be used for filtering. If the layer specified in request does not exist, an error is returned.
      filter - Volatile partitions filter which uses for fetch only needed partitions
      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
    • getVolatilePartitionsAsIterator

      public Iterator<Partition> getVolatilePartitionsAsIterator(String layer, VolatilePartitionsFilter filter, Set<AdditionalField> additionalFields)
      Description copied from interface: FlinkQueryApi
      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.

      Specified by:
      getVolatilePartitionsAsIterator in interface FlinkQueryApi
      Parameters:
      layer - Layer id to be used for filtering. If the layer specified in request does not exist, an error is returned.
      filter - Volatile partitions filter which uses for fetch only needed partitions
      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
    • queryIndex

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

      Specified by:
      queryIndex in interface FlinkQueryApi
      Parameters:
      layer - Layer ID of the queried index layer
      queryString - String written in the RSQL query language to query the index layer
    • queryIndex

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

      Specified by:
      queryIndex in interface FlinkQueryApi
      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.
    • queryIndexAsIterator

      public Iterator<IndexPartition> queryIndexAsIterator(String layer, Optional<String> queryString)
      Description copied from interface: FlinkQueryApi
      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
      Specified by:
      queryIndexAsIterator in interface FlinkQueryApi
    • queryIndexAsStream

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

      Specified by:
      queryIndexAsStream in interface FlinkQueryApi
      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.
    • queryIndexAsStream

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

      Specified by:
      queryIndexAsStream in interface FlinkQueryApi
      layer - Layer ID of the queried index layer
      queryString - String written in the RSQL query language to query the index layer
    • queryIndexDeleteStatus

      public DeleteIndexesStatusResponse queryIndexDeleteStatus(String layer, String deleteId)
      Description copied from interface: FlinkQueryApi
      Retrieve the status of the index layer content delete request.

      Specified by:
      queryIndexDeleteStatus in interface FlinkQueryApi
      Parameters:
      layer - Layer ID of the queried index layer
      deleteId - Delete request ID
    • queryIndexParts

      public IndexParts queryIndexParts(String layer, Integer parts)
      Description copied from interface: FlinkQueryApi
      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.

      Specified by:
      queryIndexParts in interface FlinkQueryApi
      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.
    • subscribe

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

      Specified by:
      subscribe in interface FlinkQueryApi
      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
    • subscribeToNotifications

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

      Specified by:
      subscribeToNotifications in interface FlinkQueryApi
      Parameters:
      consumerSettings - consumer settings