本文整理了Java中org.apache.accumulo.core.data.Range.<init>
方法的一些代码示例,展示了Range.<init>
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Range.<init>
方法的具体详情如下:
包路径:org.apache.accumulo.core.data.Range
类名称:Range
方法名:<init>
[英]Creates a range that goes from negative to positive infinity
[中]创建一个从负无限到正无限的范围
代码示例来源:origin: prestodb/presto
public static Pair<byte[], byte[]> getMinMaxRowIds(Connector connector, AccumuloTable table, Authorizations auths)
throws TableNotFoundException
{
Scanner scanner = connector.createScanner(table.getMetricsTableName(), auths);
scanner.setRange(new Range(new Text(Indexer.METRICS_TABLE_ROW_ID.array())));
Text family = new Text(Indexer.METRICS_TABLE_ROWS_CF.array());
Text firstRowQualifier = new Text(Indexer.METRICS_TABLE_FIRST_ROW_CQ.array());
Text lastRowQualifier = new Text(Indexer.METRICS_TABLE_LAST_ROW_CQ.array());
scanner.fetchColumn(family, firstRowQualifier);
scanner.fetchColumn(family, lastRowQualifier);
byte[] firstRow = null;
byte[] lastRow = null;
for (Entry<Key, Value> entry : scanner) {
if (entry.getKey().compareColumnQualifier(firstRowQualifier) == 0) {
firstRow = entry.getValue().get();
}
if (entry.getKey().compareColumnQualifier(lastRowQualifier) == 0) {
lastRow = entry.getValue().get();
}
}
scanner.close();
return Pair.of(firstRow, lastRow);
}
代码示例来源:origin: prestodb/presto
scan.fetchColumnFamily(new Text(Indexer.getIndexColumnFamily(constraintEntry.getKey().getFamily().getBytes(), constraintEntry.getKey().getQualifier().getBytes()).array()));
Text tmpQualifier = new Text();
Set<Range> columnRanges = new HashSet<>();
for (Entry<Key, Value> entry : scan) {
columnRanges.add(new Range(tmpQualifier));
代码示例来源:origin: brianfrankcooper/YCSB
/**
* Gets a scanner from Accumulo over one row.
*
* @param row the row to scan
* @param fields the set of columns to scan
* @return an Accumulo {@link Scanner} bound to the given row and columns
*/
private Scanner getRow(String table, Text row, Set<String> fields) throws TableNotFoundException {
Scanner scanner = connector.createScanner(table, Authorizations.EMPTY);
scanner.setRange(new Range(row));
if (fields != null) {
for (String field : fields) {
scanner.fetchColumn(colFam, new Text(field));
}
}
return scanner;
}
代码示例来源:origin: brianfrankcooper/YCSB
/**
* Gets a scanner from Accumulo over one row.
*
* @param row the row to scan
* @param fields the set of columns to scan
* @return an Accumulo {@link Scanner} bound to the given row and columns
*/
private Scanner getRow(String table, Text row, Set<String> fields) throws TableNotFoundException {
Scanner scanner = connector.createScanner(table, Authorizations.EMPTY);
scanner.setRange(new Range(row));
if (fields != null) {
for (String field : fields) {
scanner.fetchColumn(colFam, new Text(field));
}
}
return scanner;
}
代码示例来源:origin: brianfrankcooper/YCSB
/**
* Gets a scanner from Accumulo over one row.
*
* @param row the row to scan
* @param fields the set of columns to scan
* @return an Accumulo {@link Scanner} bound to the given row and columns
*/
private Scanner getRow(String table, Text row, Set<String> fields) throws TableNotFoundException {
Scanner scanner = connector.createScanner(table, Authorizations.EMPTY);
scanner.setRange(new Range(row));
if (fields != null) {
for (String field : fields) {
scanner.fetchColumn(colFam, new Text(field));
}
}
return scanner;
}
代码示例来源:origin: prestodb/presto
private Optional<String> getDefaultTabletLocation(String fulltable)
{
try {
String tableId = connector.tableOperations().tableIdMap().get(fulltable);
// Create a scanner over the metadata table, fetching the 'loc' column of the default tablet row
Scanner scan = connector.createScanner("accumulo.metadata", connector.securityOperations().getUserAuthorizations(username));
scan.fetchColumnFamily(new Text("loc"));
scan.setRange(new Range(tableId + '<'));
// scan the entry
Optional<String> location = Optional.empty();
for (Entry<Key, Value> entry : scan) {
if (location.isPresent()) {
throw new PrestoException(FUNCTION_IMPLEMENTATION_ERROR, "Scan for default tablet returned more than one entry");
}
location = Optional.of(entry.getValue().toString());
}
scan.close();
return location;
}
catch (Exception e) {
// Swallow this exception so the query does not fail due to being unable to locate the tablet server for the default tablet.
// This is purely an optimization, but we will want to log the error.
LOG.error("Failed to get tablet location, returning dummy location", e);
return Optional.empty();
}
}
代码示例来源:origin: brianfrankcooper/YCSB
try {
scanner = connector.createScanner(table, Authorizations.EMPTY);
scanner.setRange(new Range(new Text(startkey), null));
scanner.fetchColumn(colFam, new Text(field));
代码示例来源:origin: brianfrankcooper/YCSB
try {
scanner = connector.createScanner(table, Authorizations.EMPTY);
scanner.setRange(new Range(new Text(startkey), null));
scanner.fetchColumn(colFam, new Text(field));
代码示例来源:origin: brianfrankcooper/YCSB
try {
scanner = connector.createScanner(table, Authorizations.EMPTY);
scanner.setRange(new Range(new Text(startkey), null));
scanner.fetchColumn(colFam, new Text(field));
代码示例来源:origin: prestodb/presto
scanner.fetchColumnFamily(new Text("loc"));
Key start = new Key(tableId);
Key end = defaultTabletRow.followingKey(PartialKey.ROW);
scanner.setRange(new Range(start, end));
Text splitCompareKey = new Text();
key.getRow(splitCompareKey);
Text scannedCompareKey = new Text();
代码示例来源:origin: prestodb/presto
accumuloRange = new Range();
Text split = new Text(serializer.encode(prestoRange.getType(), prestoRange.getSingleValue()));
accumuloRange = new Range(split);
Text split = new Text(serializer.encode(prestoRange.getType(), prestoRange.getHigh().getValue()));
accumuloRange = new Range(null, false, split, inclusive);
Text split = new Text(serializer.encode(prestoRange.getType(), prestoRange.getLow().getValue()));
accumuloRange = new Range(split, inclusive, null, false);
Text endSplit = new Text(serializer.encode(prestoRange.getType(), prestoRange.getHigh().getValue()));
accumuloRange = new Range(startSplit, startKeyInclusive, endSplit, endKeyInclusive);
代码示例来源:origin: apache/accumulo
public OfflineScanner(ClientContext context, Table.ID tableId, Authorizations authorizations) {
checkArgument(context != null, "context is null");
checkArgument(tableId != null, "tableId is null");
checkArgument(authorizations != null, "authorizations is null");
this.context = context;
this.tableId = new Text(tableId.getUtf8());
this.range = new Range((Key) null, (Key) null);
this.authorizations = authorizations;
this.batchSize = Constants.SCAN_BATCH_SIZE;
}
代码示例来源:origin: apache/accumulo
protected Range getRangeForTrace(long minutesSince) {
long endTime = System.currentTimeMillis();
long millisSince = minutesSince * 60 * 1000;
// Catch the overflow
if (millisSince < minutesSince) {
millisSince = endTime;
}
long startTime = endTime - millisSince;
String startHexTime = Long.toHexString(startTime), endHexTime = Long.toHexString(endTime);
if (startHexTime.length() < endHexTime.length()) {
StringUtils.leftPad(startHexTime, endHexTime.length(), '0');
}
return new Range(new Text("start:" + startHexTime), new Text("start:" + endHexTime));
}
代码示例来源:origin: apache/accumulo
private static Text findInitialEnd(Scanner scanner) {
Text end = new Text(new byte[] {(byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff});
scanner.setRange(new Range(end, null));
while (scanner.iterator().hasNext()) {
Text t = new Text();
t.append(end.getBytes(), 0, end.getLength());
t.append(end.getBytes(), 0, end.getLength());
end = t;
scanner.setRange(new Range(end, null));
}
return end;
}
代码示例来源:origin: apache/accumulo
protected Range getRange(final CommandLine cl, final ScanInterpreter formatter)
throws UnsupportedEncodingException {
if ((cl.hasOption(OptUtil.START_ROW_OPT) || cl.hasOption(OptUtil.END_ROW_OPT))
&& cl.hasOption(scanOptRow.getOpt())) {
// did not see a way to make commons cli do this check... it has mutually exclusive options
// but does not support the or
throw new IllegalArgumentException("Options -" + scanOptRow.getOpt() + " AND (-"
+ OptUtil.START_ROW_OPT + " OR -" + OptUtil.END_ROW_OPT + ") are mutally exclusive ");
}
if (cl.hasOption(scanOptRow.getOpt())) {
return new Range(formatter
.interpretRow(new Text(cl.getOptionValue(scanOptRow.getOpt()).getBytes(Shell.CHARSET))));
} else {
Text startRow = OptUtil.getStartRow(cl);
if (startRow != null)
startRow = formatter.interpretBeginRow(startRow);
Text endRow = OptUtil.getEndRow(cl);
if (endRow != null)
endRow = formatter.interpretEndRow(endRow);
final boolean startInclusive = !cl.hasOption(optStartRowExclusive.getOpt());
final boolean endInclusive = !cl.hasOption(optEndRowExclusive.getOpt());
return new Range(startRow, startInclusive, endRow, endInclusive);
}
}
代码示例来源:origin: apache/accumulo
private Iterator<Entry<Key,Value>> getIter2() {
if (iter2 == null) {
try {
if ((table == null || !isMeta(table)) && iter1Count == 0) {
Scanner scanner = context.createScanner(MetadataTable.NAME, Authorizations.EMPTY);
scanner.setTimeout(3, TimeUnit.SECONDS);
if (table == null) {
scanner.setRange(new Range(new Text("~err_"), false, new Text("~err`"), false));
} else {
scanner.setRange(new Range(new Text("~err_" + table)));
}
iter2 = scanner.iterator();
} else {
Map<Key,Value> m = Collections.emptyMap();
iter2 = m.entrySet().iterator();
}
} catch (Exception e) {
throw new RuntimeException(e);
}
}
return iter2;
}
代码示例来源:origin: apache/accumulo
public Set<Path> getPendingReplicationPaths() {
final Set<Path> paths = new HashSet<>();
// Read over the queued work
BatchScanner bs;
try {
bs = context.createBatchScanner(ReplicationTable.NAME, Authorizations.EMPTY, 4);
} catch (TableNotFoundException e) {
log.debug("No replication table exists", e);
return paths;
}
bs.setRanges(Collections.singleton(new Range()));
StatusSection.limit(bs);
try {
Text buffer = new Text();
for (Entry<Key,Value> entry : bs) {
Key k = entry.getKey();
k.getRow(buffer);
paths.add(new Path(buffer.toString()));
}
} finally {
bs.close();
}
return paths;
}
代码示例来源:origin: apache/accumulo
private static int listSpans(Opts opts, ScannerOpts scanOpts) throws Exception {
PrintStream out = System.out;
long endTime = System.currentTimeMillis();
long startTime = endTime - opts.length;
try (AccumuloClient client = opts.createClient()) {
Scanner scanner = client.createScanner(opts.getTableName(), opts.auths);
scanner.setBatchSize(scanOpts.scanBatchSize);
Range range = new Range(new Text("start:" + Long.toHexString(startTime)),
new Text("start:" + Long.toHexString(endTime)));
scanner.setRange(range);
out.println("Trace Day/Time (ms) Start");
for (Entry<Key,Value> entry : scanner) {
RemoteSpan span = TraceFormatter.getRemoteSpan(entry);
out.println(String.format("%016x %s %5d %s", span.traceId,
TraceFormatter.formatDate(new Date(span.getStart())), span.stop - span.start,
span.description));
}
}
return 0;
}
代码示例来源:origin: apache/accumulo
ranges = new ArrayList<>();
for (int i = 0; i < rangeSize; i++) {
Range range = new Range();
range.readFields(dataInput);
ranges.add(range);
for (int i = 0; i < columnSize; i++) {
long numPairs = dataInput.readInt();
Text colFam = new Text();
colFam.readFields(dataInput);
if (numPairs == 1) {
columns.add(new Pair<>(colFam, null));
} else if (numPairs == 2) {
Text colQual = new Text();
colQual.readFields(dataInput);
columns.add(new Pair<>(colFam, colQual));
代码示例来源:origin: apache/accumulo
bs.setRanges(Collections.singleton(new Range()));
WorkSection.limit(bs);
try {
Text buffer = new Text();
for (Entry<Key,Value> entry : bs) {
Key k = entry.getKey();
内容来源于网络,如有侵权,请联系作者删除!