@Override public List<HRegionInfo> getAllRegionInfos(TableName tableName) throws IOException { ServerName serverName = ServerName.valueOf(options.getDataHost(), options.getPort(), 0); SampleRowKeysRequest.Builder request = SampleRowKeysRequest.newBuilder(); request.setTableName(options.getInstanceName().toTableNameStr(tableName.getNameAsString())); List<SampleRowKeysResponse> sampleRowKeyResponse = this.session.getDataClient().sampleRowKeys(request.build()); return getSampledRowKeysAdapter(tableName, serverName).adaptResponse(sampleRowKeyResponse) .stream() .map(location -> location.getRegionInfo()) .collect(Collectors.toCollection(CopyOnWriteArrayList::new)); }
@Override public List<HRegionInfo> getAllRegionInfos(TableName tableName) throws IOException { ServerName serverName = ServerName.valueOf(options.getDataHost(), options.getPort(), 0); SampleRowKeysRequest.Builder request = SampleRowKeysRequest.newBuilder(); request.setTableName(options.getInstanceName().toTableNameStr(tableName.getNameAsString())); List<SampleRowKeysResponse> sampleRowKeyResponse = this.session.getDataClient().sampleRowKeys(request.build()); return getSampledRowKeysAdapter(tableName, serverName).adaptResponse(sampleRowKeyResponse) .stream() .map(location -> location.getRegionInfo()) .collect(Collectors.toCollection(CopyOnWriteArrayList::new)); }
/** {@inheritDoc} */ @Override public List<KeyOffset> sampleRowKeys(String tableId) { String fullTableName = NameUtil .formatTableName(requestContext.getProjectId(), requestContext.getInstanceId(), tableId); SampleRowKeysRequest requestProto = SampleRowKeysRequest.newBuilder() .setTableName(fullTableName) .build(); List<SampleRowKeysResponse> responseProto = delegate.sampleRowKeys(requestProto); ImmutableList.Builder<KeyOffset> keyOffsetBuilder = ImmutableList.builderWithExpectedSize(responseProto.size()); for(SampleRowKeysResponse rowKeys : responseProto){ keyOffsetBuilder.add(KeyOffset.create(rowKeys.getRowKey(), rowKeys.getOffsetBytes())); } return keyOffsetBuilder.build(); }
@Override public List<SampleRowKeysResponse> getSampleRowKeys(BigtableSource source) throws IOException { try (BigtableSession session = new BigtableSession(options)) { SampleRowKeysRequest request = SampleRowKeysRequest.newBuilder() .setTableName(options.getInstanceName().toTableNameStr(source.getTableId().get())) .build(); return session.getDataClient().sampleRowKeys(request); } } }