public static void setSlice(IteratorSetting si, String start, String end) { setSlice(si, start, true, end, false); }
map.put(ColumnSliceFilter.END_INCLUSIVE, String.valueOf(endInclusive)); SortedKeyValueIterator<Key,Value> filter = new ColumnSliceFilter(); filter.init(skvi, map, env); return filter;
public static void setSlice(IteratorSetting si, String start, String end) { setSlice(si, start, true, end, false); }
private void verifyBank(String table, Connector conn, String row, int numAccts) throws TableNotFoundException, Exception { log.debug("Verifying bank " + row); int count = 0; int sum = 0; int min = Integer.MAX_VALUE; int max = Integer.MIN_VALUE; // TODO do not use IsolatedScanner, just enable isolation on scanner try (Scanner scanner = new IsolatedScanner(conn.createScanner(table, Authorizations.EMPTY))) { scanner.setRange(new Range(row)); IteratorSetting iterConf = new IteratorSetting(100, "cqsl", ColumnSliceFilter.class); ColumnSliceFilter.setSlice(iterConf, "bal", true, "bal", true); scanner.clearScanIterators(); scanner.addScanIterator(iterConf); for (Entry<Key,Value> entry : scanner) { int bal = Integer.parseInt(entry.getValue().toString()); sum += bal; if (bal > max) max = bal; if (bal < min) min = bal; count++; } } if (count > 0 && sum != numAccts * 100) { throw new Exception("Sum is off " + sum); } log.debug("Verified " + row + " count = " + count + " sum = " + sum + " min = " + min + " max = " + max); }
ColumnSliceFilter.setSlice(itset, degColumnText.toString(), true, Range.followingPrefix(degColumnText).toString(), false); bs.addScanIterator(itset);
ColumnSliceFilter.setSlice(s, r.isInfiniteStartKey() ? null : r.getStartKey().getRow().toString(), true, r.isInfiniteStopKey() ? null : r.getEndKey().getRow().toString(), true);
ColumnSliceFilter.setSlice(s, r.isInfiniteStartKey() ? null : r.getStartKey().getRow().toString(), true, r.isInfiniteStopKey() ? null : r.getEndKey().getRow().toString(), true);