Search in sources :

Example 26 with ByteArray

use of org.locationtech.geowave.core.index.ByteArray in project geowave by locationtech.

the class StatisticsCache method getFieldStatistic.

@SuppressWarnings("unchecked")
public <V extends StatisticValue<R>, R> V getFieldStatistic(final StatisticType<V> statisticType, final String fieldName) {
    if (statisticType == null || fieldName == null) {
        return null;
    }
    ByteArray key = new ByteArray(Bytes.concat(statisticType.getBytes(), StatisticId.UNIQUE_ID_SEPARATOR, StringUtils.stringToBinary(fieldName)));
    if (cache.containsKey(key)) {
        return (V) cache.get(key);
    }
    V retVal = null;
    try (CloseableIterator<? extends Statistic<? extends StatisticValue<?>>> statsIter = statisticsStore.getFieldStatistics(adapter, statisticType, fieldName, null)) {
        if (statsIter.hasNext()) {
            Statistic<V> stat = (Statistic<V>) statsIter.next();
            V value = statisticsStore.getStatisticValue(stat, authorizations);
            if (value != null) {
                retVal = value;
            }
        }
    }
    cache.put(key, retVal);
    return retVal;
}
Also used : Statistic(org.locationtech.geowave.core.store.api.Statistic) ByteArray(org.locationtech.geowave.core.index.ByteArray)

Example 27 with ByteArray

use of org.locationtech.geowave.core.index.ByteArray in project geowave by locationtech.

the class CassandraOperations method getRows.

public Iterator<GeoWaveRow> getRows(final byte[][] dataIds, final short adapterId) {
    PreparedStatement preparedRead;
    final String tableName = DataIndexUtils.DATA_ID_INDEX.getName();
    final String safeTableName = getCassandraSafeName(tableName);
    synchronized (state.preparedRangeReadsPerTable) {
        preparedRead = state.preparedRangeReadsPerTable.get(safeTableName);
        if (preparedRead == null) {
            final Select select = getSelect(safeTableName);
            ;
            preparedRead = session.prepare(select.whereColumn(CassandraRow.CassandraField.GW_PARTITION_ID_KEY.getFieldName()).in(QueryBuilder.bindMarker(CassandraRow.CassandraField.GW_PARTITION_ID_KEY.getBindMarkerName())).whereColumn(CassandraRow.CassandraField.GW_ADAPTER_ID_KEY.getFieldName()).isEqualTo(QueryBuilder.bindMarker(CassandraRow.CassandraField.GW_ADAPTER_ID_KEY.getBindMarkerName())).build());
            state.preparedRangeReadsPerTable.put(safeTableName, preparedRead);
        }
    }
    final BoundStatementBuilder statement = preparedRead.boundStatementBuilder();
    final ResultSet results = getSession().execute(statement.set(CassandraField.GW_ADAPTER_ID_KEY.getBindMarkerName(), adapterId, TypeCodecs.SMALLINT).set(CassandraField.GW_PARTITION_ID_KEY.getBindMarkerName(), Arrays.stream(dataIds).map(d -> ByteBuffer.wrap(d)).collect(Collectors.toList()), TypeCodecs.listOf(TypeCodecs.BLOB)).build());
    final Map<ByteArray, GeoWaveRow> resultsMap = new HashMap<>();
    results.forEach(r -> {
        final byte[] d = r.getByteBuffer(CassandraField.GW_PARTITION_ID_KEY.getFieldName()).array();
        final byte[] v = r.getByteBuffer(CassandraField.GW_VALUE_KEY.getFieldName()).array();
        resultsMap.put(new ByteArray(d), DataIndexUtils.deserializeDataIndexRow(d, adapterId, v, options.isVisibilityEnabled()));
    });
    return Arrays.stream(dataIds).map(d -> resultsMap.get(new ByteArray(d))).filter(r -> r != null).iterator();
}
Also used : CassandraRow(org.locationtech.geowave.datastore.cassandra.CassandraRow) QueryBuilder(com.datastax.oss.driver.api.querybuilder.QueryBuilder) Arrays(java.util.Arrays) CassandraOptions(org.locationtech.geowave.datastore.cassandra.config.CassandraOptions) RecordReaderParams(org.locationtech.geowave.mapreduce.splits.RecordReaderParams) SinglePartitionQueryRanges(org.locationtech.geowave.core.index.SinglePartitionQueryRanges) LoggerFactory(org.slf4j.LoggerFactory) InternalAdapterStore(org.locationtech.geowave.core.store.adapter.InternalAdapterStore) RowWriter(org.locationtech.geowave.core.store.operations.RowWriter) SimpleStatement(com.datastax.oss.driver.api.core.cql.SimpleStatement) DeleteSelection(com.datastax.oss.driver.api.querybuilder.delete.DeleteSelection) ByteBuffer(java.nio.ByteBuffer) KeyspaceStatePool(org.locationtech.geowave.datastore.cassandra.util.KeyspaceStatePool) CreateTable(com.datastax.oss.driver.api.querybuilder.schema.CreateTable) SessionPool(org.locationtech.geowave.datastore.cassandra.util.SessionPool) Drop(com.datastax.oss.driver.api.querybuilder.schema.Drop) Duration(java.time.Duration) Map(java.util.Map) ByteArrayRange(org.locationtech.geowave.core.index.ByteArrayRange) InsertInto(com.datastax.oss.driver.api.querybuilder.insert.InsertInto) Select(com.datastax.oss.driver.api.querybuilder.select.Select) InternalDataAdapter(org.locationtech.geowave.core.store.adapter.InternalDataAdapter) SelectFrom(com.datastax.oss.driver.api.querybuilder.select.SelectFrom) RowReader(org.locationtech.geowave.core.store.operations.RowReader) ImmutableMap(com.google.common.collect.ImmutableMap) Predicate(java.util.function.Predicate) Collection(java.util.Collection) Set(java.util.Set) Streams(com.google.common.collect.Streams) Collectors(java.util.stream.Collectors) Executors(java.util.concurrent.Executors) KeyspaceState(org.locationtech.geowave.datastore.cassandra.util.KeyspaceStatePool.KeyspaceState) Sets(com.google.common.collect.Sets) SchemaBuilder(com.datastax.oss.driver.api.querybuilder.SchemaBuilder) List(java.util.List) KeyspaceMetadata(com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata) DataTypes(com.datastax.oss.driver.api.core.type.DataTypes) Stream(java.util.stream.Stream) Optional(java.util.Optional) CassandraField(org.locationtech.geowave.datastore.cassandra.CassandraRow.CassandraField) ByteArray(org.locationtech.geowave.core.index.ByteArray) MoreExecutors(com.google.common.util.concurrent.MoreExecutors) ThreadPoolExecutor(java.util.concurrent.ThreadPoolExecutor) StringUtils(org.locationtech.geowave.core.index.StringUtils) DataIndexUtils(org.locationtech.geowave.core.store.base.dataidx.DataIndexUtils) GeoWaveRowIteratorTransformer(org.locationtech.geowave.core.store.entities.GeoWaveRowIteratorTransformer) HashMap(java.util.HashMap) RowDeleter(org.locationtech.geowave.core.store.operations.RowDeleter) Function(java.util.function.Function) RowReaderWrapper(org.locationtech.geowave.core.store.operations.RowReaderWrapper) BaseDataStoreOptions(org.locationtech.geowave.core.store.BaseDataStoreOptions) Iterators(com.google.common.collect.Iterators) ArrayList(java.util.ArrayList) MetadataType(org.locationtech.geowave.core.store.operations.MetadataType) MapReduceDataStoreOperations(org.locationtech.geowave.mapreduce.MapReduceDataStoreOperations) AbstractGeoWavePersistence(org.locationtech.geowave.core.store.metadata.AbstractGeoWavePersistence) CqlSession(com.datastax.oss.driver.api.core.CqlSession) ReaderParams(org.locationtech.geowave.core.store.operations.ReaderParams) CreateTableStart(com.datastax.oss.driver.api.querybuilder.schema.CreateTableStart) ClientVisibilityFilter(org.locationtech.geowave.core.store.query.filter.ClientVisibilityFilter) Index(org.locationtech.geowave.core.store.api.Index) Row(com.datastax.oss.driver.api.core.cql.Row) ExecutorService(java.util.concurrent.ExecutorService) CassandraRequiredOptions(org.locationtech.geowave.datastore.cassandra.config.CassandraRequiredOptions) RegularInsert(com.datastax.oss.driver.api.querybuilder.insert.RegularInsert) MetadataDeleter(org.locationtech.geowave.core.store.operations.MetadataDeleter) GeoWaveRow(org.locationtech.geowave.core.store.entities.GeoWaveRow) Literal(com.datastax.oss.driver.api.querybuilder.Literal) Logger(org.slf4j.Logger) Iterator(java.util.Iterator) DataIndexReaderParams(org.locationtech.geowave.core.store.operations.DataIndexReaderParams) BoundStatementBuilder(com.datastax.oss.driver.api.core.cql.BoundStatementBuilder) ResultSet(com.datastax.oss.driver.api.core.cql.ResultSet) MetadataReader(org.locationtech.geowave.core.store.operations.MetadataReader) IOException(java.io.IOException) PreparedStatement(com.datastax.oss.driver.api.core.cql.PreparedStatement) PersistentAdapterStore(org.locationtech.geowave.core.store.adapter.PersistentAdapterStore) TypeCodecs(com.datastax.oss.driver.api.core.type.codec.TypeCodecs) CassandraUtils(org.locationtech.geowave.datastore.cassandra.util.CassandraUtils) ChronoUnit(java.time.temporal.ChronoUnit) MetadataWriter(org.locationtech.geowave.core.store.operations.MetadataWriter) CloseableIterator(org.locationtech.geowave.core.store.CloseableIterator) ByteArrayUtils(org.locationtech.geowave.core.index.ByteArrayUtils) ObjectMapper(org.codehaus.jackson.map.ObjectMapper) Statement(com.datastax.oss.driver.api.core.cql.Statement) GeoWaveRow(org.locationtech.geowave.core.store.entities.GeoWaveRow) BoundStatementBuilder(com.datastax.oss.driver.api.core.cql.BoundStatementBuilder) HashMap(java.util.HashMap) Select(com.datastax.oss.driver.api.querybuilder.select.Select) ResultSet(com.datastax.oss.driver.api.core.cql.ResultSet) ByteArray(org.locationtech.geowave.core.index.ByteArray) PreparedStatement(com.datastax.oss.driver.api.core.cql.PreparedStatement)

Example 28 with ByteArray

use of org.locationtech.geowave.core.index.ByteArray in project geowave by locationtech.

the class DynamoDBOperations method getResults.

private BatchGetItemResult getResults(final Map<String, KeysAndAttributes> requestItems, final short adapterId, final Map<ByteArray, GeoWaveRow> resultMap) {
    final BatchGetItemRequest request = new BatchGetItemRequest(requestItems);
    final BatchGetItemResult result = client.batchGetItem(request);
    result.getResponses().values().forEach(results -> results.stream().forEach(objMap -> {
        final byte[] dataId = objMap.get(DynamoDBRow.GW_PARTITION_ID_KEY).getB().array();
        final AttributeValue valueAttr = objMap.get(DynamoDBRow.GW_VALUE_KEY);
        final byte[] value = valueAttr == null ? null : valueAttr.getB().array();
        final AttributeValue visAttr = objMap.get(DynamoDBRow.GW_VISIBILITY_KEY);
        final byte[] vis = visAttr == null ? new byte[0] : visAttr.getB().array();
        resultMap.put(new ByteArray(dataId), DataIndexUtils.deserializeDataIndexRow(dataId, adapterId, value, vis));
    }));
    return result;
}
Also used : DeleteTableRequest(com.amazonaws.services.dynamodbv2.model.DeleteTableRequest) TableNeverTransitionedToStateException(com.amazonaws.services.dynamodbv2.util.TableUtils.TableNeverTransitionedToStateException) Arrays(java.util.Arrays) RecordReaderParams(org.locationtech.geowave.mapreduce.splits.RecordReaderParams) BatchGetItemResult(com.amazonaws.services.dynamodbv2.model.BatchGetItemResult) KeySchemaElement(com.amazonaws.services.dynamodbv2.model.KeySchemaElement) LoggerFactory(org.slf4j.LoggerFactory) InternalAdapterStore(org.locationtech.geowave.core.store.adapter.InternalAdapterStore) RowWriter(org.locationtech.geowave.core.store.operations.RowWriter) ByteBuffer(java.nio.ByteBuffer) DeleteRequest(com.amazonaws.services.dynamodbv2.model.DeleteRequest) TableStatus(com.amazonaws.services.dynamodbv2.model.TableStatus) AttributeValue(com.amazonaws.services.dynamodbv2.model.AttributeValue) Map(java.util.Map) ByteArrayRange(org.locationtech.geowave.core.index.ByteArrayRange) DynamoDBRow(org.locationtech.geowave.datastore.dynamodb.DynamoDBRow) AmazonDynamoDBException(com.amazonaws.services.dynamodbv2.model.AmazonDynamoDBException) InternalDataAdapter(org.locationtech.geowave.core.store.adapter.InternalDataAdapter) RowReader(org.locationtech.geowave.core.store.operations.RowReader) Collection(java.util.Collection) ScanRequest(com.amazonaws.services.dynamodbv2.model.ScanRequest) Set(java.util.Set) Streams(com.google.common.collect.Streams) TableUtils(com.amazonaws.services.dynamodbv2.util.TableUtils) Sets(com.google.common.collect.Sets) ScalarAttributeType(com.amazonaws.services.dynamodbv2.model.ScalarAttributeType) List(java.util.List) Stream(java.util.stream.Stream) ByteArray(org.locationtech.geowave.core.index.ByteArray) KeysAndAttributes(com.amazonaws.services.dynamodbv2.model.KeysAndAttributes) DataIndexUtils(org.locationtech.geowave.core.store.base.dataidx.DataIndexUtils) AttributeDefinition(com.amazonaws.services.dynamodbv2.model.AttributeDefinition) KeyType(com.amazonaws.services.dynamodbv2.model.KeyType) ListTablesResult(com.amazonaws.services.dynamodbv2.model.ListTablesResult) ScanResult(com.amazonaws.services.dynamodbv2.model.ScanResult) HashMap(java.util.HashMap) RowDeleter(org.locationtech.geowave.core.store.operations.RowDeleter) Supplier(java.util.function.Supplier) RowReaderWrapper(org.locationtech.geowave.core.store.operations.RowReaderWrapper) WriteRequest(com.amazonaws.services.dynamodbv2.model.WriteRequest) ArrayList(java.util.ArrayList) MetadataType(org.locationtech.geowave.core.store.operations.MetadataType) MapReduceDataStoreOperations(org.locationtech.geowave.mapreduce.MapReduceDataStoreOperations) AbstractGeoWavePersistence(org.locationtech.geowave.core.store.metadata.AbstractGeoWavePersistence) ReaderParams(org.locationtech.geowave.core.store.operations.ReaderParams) ClientVisibilityFilter(org.locationtech.geowave.core.store.query.filter.ClientVisibilityFilter) Index(org.locationtech.geowave.core.store.api.Index) DynamoDBOptions(org.locationtech.geowave.datastore.dynamodb.config.DynamoDBOptions) DynamoDBClientPool(org.locationtech.geowave.datastore.dynamodb.DynamoDBClientPool) MetadataDeleter(org.locationtech.geowave.core.store.operations.MetadataDeleter) GeoWaveRow(org.locationtech.geowave.core.store.entities.GeoWaveRow) Logger(org.slf4j.Logger) Iterator(java.util.Iterator) DataIndexReaderParams(org.locationtech.geowave.core.store.operations.DataIndexReaderParams) MetadataReader(org.locationtech.geowave.core.store.operations.MetadataReader) IOException(java.io.IOException) BatchGetItemRequest(com.amazonaws.services.dynamodbv2.model.BatchGetItemRequest) AmazonDynamoDBAsync(com.amazonaws.services.dynamodbv2.AmazonDynamoDBAsync) CreateTableRequest(com.amazonaws.services.dynamodbv2.model.CreateTableRequest) PersistentAdapterStore(org.locationtech.geowave.core.store.adapter.PersistentAdapterStore) ProvisionedThroughput(com.amazonaws.services.dynamodbv2.model.ProvisionedThroughput) MetadataWriter(org.locationtech.geowave.core.store.operations.MetadataWriter) CloseableIterator(org.locationtech.geowave.core.store.CloseableIterator) ByteArrayUtils(org.locationtech.geowave.core.index.ByteArrayUtils) Collections(java.util.Collections) BatchGetItemRequest(com.amazonaws.services.dynamodbv2.model.BatchGetItemRequest) AttributeValue(com.amazonaws.services.dynamodbv2.model.AttributeValue) BatchGetItemResult(com.amazonaws.services.dynamodbv2.model.BatchGetItemResult) ByteArray(org.locationtech.geowave.core.index.ByteArray)

Example 29 with ByteArray

use of org.locationtech.geowave.core.index.ByteArray in project geowave by locationtech.

the class DynamoDBOperations method getRowsFromDataIndex.

public Iterator<GeoWaveRow> getRowsFromDataIndex(final byte[][] dataIds, final short adapterId, final String typeName) {
    final Map<ByteArray, GeoWaveRow> resultMap = new HashMap<>();
    final Iterator<byte[]> dataIdIterator = Arrays.stream(dataIds).iterator();
    while (dataIdIterator.hasNext()) {
        // fill result map
        final Collection<Map<String, AttributeValue>> dataIdsForRequest = new ArrayList<>();
        int i = 0;
        while (dataIdIterator.hasNext() && (i < MAX_ROWS_FOR_BATCHGETITEM)) {
            dataIdsForRequest.add(Collections.singletonMap(DynamoDBRow.GW_PARTITION_ID_KEY, new AttributeValue().withB(ByteBuffer.wrap(dataIdIterator.next()))));
            i++;
        }
        BatchGetItemResult result = getResults(Collections.singletonMap(typeName + "_" + getQualifiedTableName(DataIndexUtils.DATA_ID_INDEX.getName()), new KeysAndAttributes().withKeys(dataIdsForRequest)), adapterId, resultMap);
        while (!result.getUnprocessedKeys().isEmpty()) {
            result = getResults(result.getUnprocessedKeys(), adapterId, resultMap);
        }
    }
    return Arrays.stream(dataIds).map(d -> resultMap.get(new ByteArray(d))).filter(r -> r != null).iterator();
}
Also used : DeleteTableRequest(com.amazonaws.services.dynamodbv2.model.DeleteTableRequest) TableNeverTransitionedToStateException(com.amazonaws.services.dynamodbv2.util.TableUtils.TableNeverTransitionedToStateException) Arrays(java.util.Arrays) RecordReaderParams(org.locationtech.geowave.mapreduce.splits.RecordReaderParams) BatchGetItemResult(com.amazonaws.services.dynamodbv2.model.BatchGetItemResult) KeySchemaElement(com.amazonaws.services.dynamodbv2.model.KeySchemaElement) LoggerFactory(org.slf4j.LoggerFactory) InternalAdapterStore(org.locationtech.geowave.core.store.adapter.InternalAdapterStore) RowWriter(org.locationtech.geowave.core.store.operations.RowWriter) ByteBuffer(java.nio.ByteBuffer) DeleteRequest(com.amazonaws.services.dynamodbv2.model.DeleteRequest) TableStatus(com.amazonaws.services.dynamodbv2.model.TableStatus) AttributeValue(com.amazonaws.services.dynamodbv2.model.AttributeValue) Map(java.util.Map) ByteArrayRange(org.locationtech.geowave.core.index.ByteArrayRange) DynamoDBRow(org.locationtech.geowave.datastore.dynamodb.DynamoDBRow) AmazonDynamoDBException(com.amazonaws.services.dynamodbv2.model.AmazonDynamoDBException) InternalDataAdapter(org.locationtech.geowave.core.store.adapter.InternalDataAdapter) RowReader(org.locationtech.geowave.core.store.operations.RowReader) Collection(java.util.Collection) ScanRequest(com.amazonaws.services.dynamodbv2.model.ScanRequest) Set(java.util.Set) Streams(com.google.common.collect.Streams) TableUtils(com.amazonaws.services.dynamodbv2.util.TableUtils) Sets(com.google.common.collect.Sets) ScalarAttributeType(com.amazonaws.services.dynamodbv2.model.ScalarAttributeType) List(java.util.List) Stream(java.util.stream.Stream) ByteArray(org.locationtech.geowave.core.index.ByteArray) KeysAndAttributes(com.amazonaws.services.dynamodbv2.model.KeysAndAttributes) DataIndexUtils(org.locationtech.geowave.core.store.base.dataidx.DataIndexUtils) AttributeDefinition(com.amazonaws.services.dynamodbv2.model.AttributeDefinition) KeyType(com.amazonaws.services.dynamodbv2.model.KeyType) ListTablesResult(com.amazonaws.services.dynamodbv2.model.ListTablesResult) ScanResult(com.amazonaws.services.dynamodbv2.model.ScanResult) HashMap(java.util.HashMap) RowDeleter(org.locationtech.geowave.core.store.operations.RowDeleter) Supplier(java.util.function.Supplier) RowReaderWrapper(org.locationtech.geowave.core.store.operations.RowReaderWrapper) WriteRequest(com.amazonaws.services.dynamodbv2.model.WriteRequest) ArrayList(java.util.ArrayList) MetadataType(org.locationtech.geowave.core.store.operations.MetadataType) MapReduceDataStoreOperations(org.locationtech.geowave.mapreduce.MapReduceDataStoreOperations) AbstractGeoWavePersistence(org.locationtech.geowave.core.store.metadata.AbstractGeoWavePersistence) ReaderParams(org.locationtech.geowave.core.store.operations.ReaderParams) ClientVisibilityFilter(org.locationtech.geowave.core.store.query.filter.ClientVisibilityFilter) Index(org.locationtech.geowave.core.store.api.Index) DynamoDBOptions(org.locationtech.geowave.datastore.dynamodb.config.DynamoDBOptions) DynamoDBClientPool(org.locationtech.geowave.datastore.dynamodb.DynamoDBClientPool) MetadataDeleter(org.locationtech.geowave.core.store.operations.MetadataDeleter) GeoWaveRow(org.locationtech.geowave.core.store.entities.GeoWaveRow) Logger(org.slf4j.Logger) Iterator(java.util.Iterator) DataIndexReaderParams(org.locationtech.geowave.core.store.operations.DataIndexReaderParams) MetadataReader(org.locationtech.geowave.core.store.operations.MetadataReader) IOException(java.io.IOException) BatchGetItemRequest(com.amazonaws.services.dynamodbv2.model.BatchGetItemRequest) AmazonDynamoDBAsync(com.amazonaws.services.dynamodbv2.AmazonDynamoDBAsync) CreateTableRequest(com.amazonaws.services.dynamodbv2.model.CreateTableRequest) PersistentAdapterStore(org.locationtech.geowave.core.store.adapter.PersistentAdapterStore) ProvisionedThroughput(com.amazonaws.services.dynamodbv2.model.ProvisionedThroughput) MetadataWriter(org.locationtech.geowave.core.store.operations.MetadataWriter) CloseableIterator(org.locationtech.geowave.core.store.CloseableIterator) ByteArrayUtils(org.locationtech.geowave.core.index.ByteArrayUtils) Collections(java.util.Collections) GeoWaveRow(org.locationtech.geowave.core.store.entities.GeoWaveRow) AttributeValue(com.amazonaws.services.dynamodbv2.model.AttributeValue) HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) KeysAndAttributes(com.amazonaws.services.dynamodbv2.model.KeysAndAttributes) BatchGetItemResult(com.amazonaws.services.dynamodbv2.model.BatchGetItemResult) ByteArray(org.locationtech.geowave.core.index.ByteArray) Map(java.util.Map) HashMap(java.util.HashMap)

Example 30 with ByteArray

use of org.locationtech.geowave.core.index.ByteArray in project geowave by locationtech.

the class BatchHandler method addStatement.

protected BatchStatementBuilder addStatement(final GeoWaveRow row, final BatchableStatement statement) {
    final ByteArray partition = new ByteArray(row.getPartitionKey());
    BatchStatementBuilder tokenBatch = batches.get(partition);
    if (tokenBatch == null) {
        tokenBatch = new BatchStatementBuilder(type);
        batches.put(partition, tokenBatch);
    }
    synchronized (tokenBatch) {
        tokenBatch.addStatement(statement);
    }
    return tokenBatch;
}
Also used : BatchStatementBuilder(com.datastax.oss.driver.api.core.cql.BatchStatementBuilder) ByteArray(org.locationtech.geowave.core.index.ByteArray)

Aggregations

ByteArray (org.locationtech.geowave.core.index.ByteArray)114 HashMap (java.util.HashMap)26 List (java.util.List)25 Test (org.junit.Test)25 ByteBuffer (java.nio.ByteBuffer)22 ArrayList (java.util.ArrayList)22 Map (java.util.Map)20 Arrays (java.util.Arrays)19 GeoWaveRow (org.locationtech.geowave.core.store.entities.GeoWaveRow)19 SimpleFeature (org.opengis.feature.simple.SimpleFeature)17 IOException (java.io.IOException)16 Set (java.util.Set)16 Pair (org.apache.commons.lang3.tuple.Pair)16 Coordinate (org.locationtech.jts.geom.Coordinate)16 HashSet (java.util.HashSet)14 ByteArrayRange (org.locationtech.geowave.core.index.ByteArrayRange)14 Collectors (java.util.stream.Collectors)13 CloseableIterator (org.locationtech.geowave.core.store.CloseableIterator)12 Index (org.locationtech.geowave.core.store.api.Index)12 GeoWaveInputKey (org.locationtech.geowave.mapreduce.input.GeoWaveInputKey)11