public HBaseReader( final RecordReaderParams recordReaderParams, final HBaseOperations operations) { this.readerParams = null; this.recordReaderParams = recordReaderParams; this.operations = operations; this.partitionKeyLength = recordReaderParams.getIndex().getIndexStrategy().getPartitionKeyLength(); this.wholeRowEncoding = recordReaderParams.isMixedVisibility(); this.clientSideRowMerging = recordReaderParams.isClientsideRowMerging(); this.rowTransformer = (GeoWaveRowIteratorTransformer<T>) GeoWaveRowIteratorTransformer.NO_OP_TRANSFORMER; this.scanProvider = createScanProvider( (RangeReaderParams<T>) recordReaderParams, operations, this.clientSideRowMerging); initRecordScanner(); }
protected void initRecordScanner() { final String tableName = operations.getQualifiedTableName(recordReaderParams.getIndex().getName()); final ArrayList<Short> adapterIds = Lists.newArrayList(); if ((recordReaderParams.getAdapterIds() != null) && (recordReaderParams.getAdapterIds().length > 0)) { for (final Short adapterId : recordReaderParams.getAdapterIds()) { adapterIds.add(adapterId); } } final List<QueryRequest> requests = new ArrayList<>(); final GeoWaveRowRange range = recordReaderParams.getRowRange(); for (final Short adapterId : adapterIds) { final byte[] startKey = range.isInfiniteStartSortKey() ? null : range.getStartSortKey(); final byte[] stopKey = range.isInfiniteStopSortKey() ? null : range.getEndSortKey(); requests.add( getQuery( tableName, range.getPartitionKey(), new ByteArrayRange(startKey, stopKey), adapterId)); } startRead(requests, tableName, recordReaderParams.isClientsideRowMerging(), false); }
try { resultScanner = operations.getScannedResults(rscanner, recordReaderParams.getIndex().getName()); if (resultScanner instanceof ResultScanner) { this.scanner = (Closeable) resultScanner;
protected void initRecordScanner() { final short[] adapterIds = recordReaderParams.getAdapterIds() != null ? recordReaderParams.getAdapterIds() : new short[0]; final GeoWaveRowRange range = recordReaderParams.getRowRange(); final byte[] startKey = range.isInfiniteStartSortKey() ? null : range.getStartSortKey(); final byte[] stopKey = range.isInfiniteStopSortKey() ? null : range.getEndSortKey(); final SinglePartitionQueryRanges partitionRange = new SinglePartitionQueryRanges( range.getPartitionKey(), Collections.singleton(new ByteArrayRange(startKey, stopKey))); final Set<String> authorizations = Sets.newHashSet(recordReaderParams.getAdditionalAuthorizations()); iterator = operations.getBatchedRangeRead( recordReaderParams.getIndex().getName(), adapterIds, Collections.singleton(partitionRange), DataStoreUtils.isMergingIteratorRequired(recordReaderParams, visibilityEnabled), rowTransformer, new ClientVisibilityFilter(authorizations)).results(); }