public List<KuduScanToken> scanTokens(List<KuduFilterInfo> tableFilters, List<String> tableProjections, Long rowLimit) { KuduScanToken.KuduScanTokenBuilder tokenBuilder = client.syncClient().newScanTokenBuilder(table); if (CollectionUtils.isNotEmpty(tableProjections)) { tokenBuilder.setProjectedColumnNames(tableProjections); } if (CollectionUtils.isNotEmpty(tableFilters)) { tableFilters.stream() .map(filter -> filter.toPredicate(table.getSchema())) .forEach(tokenBuilder::addPredicate); } if (rowLimit !=null && rowLimit > 0) { tokenBuilder.limit(rowLimit); // FIXME: https://issues.apache.org/jira/browse/KUDU-16 // Server side limit() operator for java-based scanners are not implemented yet } return tokenBuilder.build(); }