/** * Returns a Range that covers all rows beginning with a prefix. * * @param rowPrefix * prefix of rows to cover * @see #prefix(Text) */ public static Range prefix(CharSequence rowPrefix) { return Range.prefix(new Text(rowPrefix.toString())); }
/** * Returns a Range that covers all column families beginning with a prefix within a given row. * * @param row * row to cover * @param cfPrefix * prefix of column families to cover * @see #prefix(Text, Text) */ public static Range prefix(CharSequence row, CharSequence cfPrefix) { return Range.prefix(new Text(row.toString()), new Text(cfPrefix.toString())); }
/** * Returns a Range that covers all column qualifiers beginning with a prefix within a given row * and column family. * * @param row * row to cover * @param cf * column family to cover * @param cqPrefix * prefix of column qualifiers to cover * @see #prefix(Text, Text, Text) */ public static Range prefix(CharSequence row, CharSequence cf, CharSequence cqPrefix) { return Range.prefix(new Text(row.toString()), new Text(cf.toString()), new Text(cqPrefix.toString())); }
/** * Returns a Range that covers all column visibilities beginning with a prefix within a given row, * column family, and column qualifier. * * @param row * row to cover * @param cf * column family to cover * @param cq * column qualifier to cover * @param cvPrefix * prefix of column visibilities to cover * @see #prefix(Text, Text, Text, Text) */ public static Range prefix(CharSequence row, CharSequence cf, CharSequence cq, CharSequence cvPrefix) { return Range.prefix(new Text(row.toString()), new Text(cf.toString()), new Text(cq.toString()), new Text(cvPrefix.toString())); } }
bw = client.createBatchWriter(MetadataTable.NAME, new BatchWriterConfig()); bs = client.createBatchScanner(MetadataTable.NAME, Authorizations.EMPTY, 4); bs.setRanges(Collections.singleton(Range.prefix(ReplicationSection.getRowPrefix()))); bs.fetchColumnFamily(ReplicationSection.COLF);
/** * Returns a Range that covers all rows beginning with a prefix. * * @param rowPrefix * prefix of rows to cover * @see #prefix(Text) */ public static Range prefix(CharSequence rowPrefix) { return Range.prefix(new Text(rowPrefix.toString())); }
/** * Returns a Range that covers all column families beginning with a prefix within a given row. * * @param row * row to cover * @param cfPrefix * prefix of column families to cover * @see #prefix(Text, Text) */ public static Range prefix(CharSequence row, CharSequence cfPrefix) { return Range.prefix(new Text(row.toString()), new Text(cfPrefix.toString())); }
/** * Returns a Range that covers all column qualifiers beginning with a prefix within a given row * and column family. * * @param row * row to cover * @param cf * column family to cover * @param cqPrefix * prefix of column qualifiers to cover * @see #prefix(Text, Text, Text) */ public static Range prefix(CharSequence row, CharSequence cf, CharSequence cqPrefix) { return Range.prefix(new Text(row.toString()), new Text(cf.toString()), new Text(cqPrefix.toString())); }
@Override public Range getRange(final KeyParts keyParts) { //System.out.println("Scanning queryInstantEqualsInstant: prefix:" + KeyParts.toHumanString(keyParts.getQueryKey())); return Range.prefix(keyParts.getQueryKey()); // <-- specific logic } };
@Override public Range getRange(final KeyParts keyParts) { //System.out.println("Scanning queryInstantEqualsInstant: prefix:" + KeyParts.toHumanString(keyParts.getQueryKey())); return Range.prefix(keyParts.getQueryKey()); // <-- specific logic } };
/** * Returns a Range that covers all column visibilities beginning with a prefix within a given row, * column family, and column qualifier. * * @param row * row to cover * @param cf * column family to cover * @param cq * column qualifier to cover * @param cvPrefix * prefix of column visibilities to cover * @see #prefix(Text, Text, Text, Text) */ public static Range prefix(CharSequence row, CharSequence cf, CharSequence cq, CharSequence cvPrefix) { return Range.prefix(new Text(row.toString()), new Text(cf.toString()), new Text(cq.toString()), new Text(cvPrefix.toString())); } }
private List<org.apache.accumulo.core.data.Range> extendedDataRowIdToRange(Iterable<ExtendedDataRowId> ids) { return stream(ids) .map(id -> org.apache.accumulo.core.data.Range.prefix(KeyHelper.createExtendedDataRowKey(id))) .collect(Collectors.toList()); }
private List<org.apache.accumulo.core.data.Range> extendedDataRowIdToRange(Iterable<ExtendedDataRowId> ids) { return stream(ids) .map(id -> org.apache.accumulo.core.data.Range.prefix(KeyHelper.createExtendedDataRowKey(id))) .collect(Collectors.toList()); }
public static void setQueryInfo(Job job, Set<String> entityTypes, EntityShardBuilder shardBuilder, TypeRegistry<String> typeRegistry) throws AccumuloSecurityException, AccumuloException, TableNotFoundException, IOException { validateOptions(job); Collection<Range> ranges = new LinkedList<Range>(); for (String type : entityTypes) { Set<Text> shards = shardBuilder.buildShardsForTypes(singleton(type)); for (Text shard : shards) ranges.add(prefix(shard.toString(), type)); } setRanges(job, ranges); IteratorSetting iteratorSetting = new IteratorSetting(16, "wholeColumnFamilyIterator", WholeColumnFamilyIterator.class); addIterator(job, iteratorSetting); job.getConfiguration().setBoolean(QUERY, false); job.getConfiguration().set(TYPE_REGISTRY, new String(toBase64(typeRegistry))); }
private Range getRange(final String commonVarOrder, final BindingSet bs) throws BindingSetConversionException { final AccumuloPcjSerializer converter = new AccumuloPcjSerializer(); byte[] rangePrefix = new byte[0]; rangePrefix = converter.convert(bs, new VariableOrder(commonVarOrder)); return Range.prefix(new Text(rangePrefix)); }
private Range getRange(final String commonVarOrder, final BindingSet bs) throws BindingSetConversionException { final AccumuloPcjSerializer converter = new AccumuloPcjSerializer(); byte[] rangePrefix = new byte[0]; rangePrefix = converter.convert(bs, new VariableOrder(commonVarOrder)); return Range.prefix(new Text(rangePrefix)); }
@Override public Iterable<Vertex> getVerticesWithPrefix(String vertexIdPrefix, FetchHints fetchHints, Long endTime, Authorizations authorizations) { Span trace = Trace.start("getVerticesWithPrefix"); trace.data("vertexIdPrefix", vertexIdPrefix); traceDataFetchHints(trace, fetchHints); org.apache.accumulo.core.data.Range range = org.apache.accumulo.core.data.Range.prefix(vertexIdPrefix); return getVerticesInRange(trace, range, fetchHints, endTime, authorizations); }
@Override public CloseableIterable<Pair<String, String>> keys(String type, Auths auths) { checkNotNull(type); checkNotNull(auths); BatchScanner scanner = helper.buildIndexScanner(auths.getAuths()); IteratorSetting setting = new IteratorSetting(15, FirstEntryInColumnIterator.class); scanner.addScanIterator(setting); scanner.setRanges(singletonList(Range.prefix(type + "_" + INDEX_K + "_"))); return transform(wrap(scanner), new Function<Map.Entry<Key, Value>, Pair<String, String>>() { @Override public Pair<String, String> apply(Map.Entry<Key, Value> keyValueEntry) { EntityCardinalityKey key = new EntityCardinalityKey(keyValueEntry.getKey()); return new Pair<String, String>(key.getKey(), key.getAlias()); } }); }
@Override public Iterable<Vertex> getVerticesWithPrefix(String vertexIdPrefix, FetchHints fetchHints, Long endTime, Authorizations authorizations) { Span trace = Trace.start("getVerticesWithPrefix"); trace.data("vertexIdPrefix", vertexIdPrefix); traceDataFetchHints(trace, fetchHints); org.apache.accumulo.core.data.Range range = org.apache.accumulo.core.data.Range.prefix(vertexIdPrefix); return getVerticesInRange(trace, range, fetchHints, endTime, authorizations); }
@Test public void binaryStressTest() throws Exception { Connector c = getConnector(); String tableName = getUniqueNames(1)[0]; c.tableOperations().create(tableName); c.tableOperations().setProperty(tableName, Property.TABLE_SPLIT_THRESHOLD.getKey(), "10K"); BinaryIT.runTest(c, tableName); String id = c.tableOperations().tableIdMap().get(tableName); Set<Text> tablets = new HashSet<>(); Scanner s = c.createScanner(MetadataTable.NAME, Authorizations.EMPTY); s.setRange(Range.prefix(id)); for (Entry<Key,Value> entry : s) { tablets.add(entry.getKey().getRow()); } assertTrue("Expected at least 8 tablets, saw " + tablets.size(), tablets.size() > 7); }