Refine search
@Override public void deserialize(Entry<Key, Value> entry) { if (!columnValues.containsKey(rowIdName)) { entry.getKey().getRow(rowId); columnValues.put(rowIdName, rowId.toString()); } if (rowOnly) { return; } entry.getKey().getColumnFamily(family); entry.getKey().getColumnQualifier(qualifier); if (family.equals(ROW_ID_COLUMN) && qualifier.equals(ROW_ID_COLUMN)) { return; } value.set(entry.getValue().get()); columnValues.put(familyQualifierColumnMap.get(family.toString()).get(qualifier.toString()), value.toString()); }
public ColumnFQ(Key k) { this(k.getColumnFamily(), k.getColumnQualifier()); }
public static List<LogEntry> getLogEntries(ServerContext context, KeyExtent extent) throws IOException, KeeperException, InterruptedException { log.info("Scanning logging entries for {}", extent); ArrayList<LogEntry> result = new ArrayList<>(); if (extent.equals(RootTable.EXTENT)) { log.info("Getting logs for root tablet from zookeeper"); getRootLogEntries(context, result); } else { log.info("Scanning metadata for logs used for tablet {}", extent); Scanner scanner = getTabletLogScanner(context, extent); Text pattern = extent.getMetadataEntry(); for (Entry<Key,Value> entry : scanner) { Text row = entry.getKey().getRow(); if (entry.getKey().getColumnFamily().equals(LogColumnFamily.NAME)) { if (row.equals(pattern)) { result.add(LogEntry.fromKeyValue(entry.getKey(), entry.getValue())); } } } } log.info("Returning logs {} for extent {}", result, extent); return result; }
@Override public String next() { Entry<Key,Value> next = scanner.next(); if (next.getKey().getColumnFamily().equals(SPAN_CF)) { StringBuilder result = new StringBuilder(); SimpleDateFormat dateFormatter = new SimpleDateFormat(DATE_FORMAT); if (span.data != null) { for (Entry<String,String> entry : span.data.entrySet()) { result.append(String.format(" %12s:%s%n", entry.getKey(), entry.getValue())); result.append(String.format(" %-12s:%d%n", "timestamp", next.getKey().getTimestamp()));
@Override public void deserialize(Entry<Key, Value> entry) { if (!columnValues.containsKey(rowIdName)) { entry.getKey().getRow(rowId); columnValues.put(rowIdName, rowId.copyBytes()); } if (rowOnly) { return; } entry.getKey().getColumnFamily(family); entry.getKey().getColumnQualifier(qualifier); if (family.equals(ROW_ID_COLUMN) && qualifier.equals(ROW_ID_COLUMN)) { return; } value.set(entry.getValue().get()); columnValues.put(familyQualifierColumnMap.get(family.toString()).get(qualifier.toString()), value.copyBytes()); }
@Override protected void aggregateStats(Entry<Key,Value> entry) { String key; Long count; key = entry.getKey().getColumnVisibility().toString(); count = classifications.get(key); classifications.put(key, count != null ? count + 1 : 0L); key = entry.getKey().getColumnFamily().toString(); count = columnFamilies.get(key); columnFamilies.put(key, count != null ? count + 1 : 0L); key = entry.getKey().getColumnQualifier().toString(); count = columnQualifiers.get(key); columnQualifiers.put(key, count != null ? count + 1 : 0L); ++total; }
@Override public Key getNextKeyHint(Key k, Value v) throws IllegalArgumentException { if (cso.minCf.getLength() > 0) { int minCfCmp = k.compareColumnFamily(cso.minCf); if (minCfCmp < 0) { Key hint = new Key(k.getRow(), cso.minCf); return cso.minInclusive ? hint : hint.followingKey(PartialKey.ROW_COLFAM); } } if (cso.minCq.getLength() > 0) { int minCqCmp = k.compareColumnQualifier(cso.minCq); if (minCqCmp < 0) { Key hint = new Key(k.getRow(), k.getColumnFamily(), cso.minCq); return cso.minInclusive ? hint : hint.followingKey(PartialKey.ROW_COLFAM_COLQUAL); } } // If we get here it means that we were asked to provide a hint for a key that we // didn't return USE_HINT for. throw new IllegalArgumentException("Don't know how to provide hint for key " + k); }
@Override public String next() { Entry<Key,Value> entry = iterator.next(); DateFormat timestampFormat = config.willPrintTimestamps() ? config.getDateFormatSupplier().get() : null; // If we expected this to be a protobuf, try to parse it, adding a message when it fails to // parse if (REPLICATION_COLFAMS.contains(entry.getKey().getColumnFamily())) { Status status; try { status = Status.parseFrom(entry.getValue().get()); } catch (InvalidProtocolBufferException e) { log.trace("Could not deserialize protocol buffer for {}", entry.getKey(), e); status = null; } return formatEntry(entry.getKey(), status, timestampFormat); } else { // Otherwise, we're set on a table that contains other data too (e.g. accumulo.metadata) // Just do the normal thing return DefaultFormatter.formatEntry(entry, timestampFormat); } }
/** * Deletes a row, given a Scanner of JUST that row. */ private void deleteRow(Scanner scanner, BatchWriter bw) throws MutationsRejectedException { Mutation deleter = null; // iterate through the keys final Text row = new Text(); final Text cf = new Text(); final Text cq = new Text(); for (Entry<Key, Value> entry : scanner) { // create a mutation for the row if (deleter == null) { entry.getKey().getRow(row); deleter = new Mutation(row); } entry.getKey().getColumnFamily(cf); entry.getKey().getColumnQualifier(cq); // the remove function adds the key with the delete flag set to true deleter.putDelete(cf, cq); } bw.addMutation(deleter); } }
@Override protected Text getTerm(Key key) { if (indexColf.compareTo(key.getColumnFamily().getBytes(), 0, indexColf.getLength()) < 0) { // We're past the index column family, so return a term that will sort lexicographically last. // The last unicode character should suffice return new Text("\uFFFD"); } Text colq = key.getColumnQualifier(); int zeroIndex = colq.find("\0"); Text term = new Text(); term.set(colq.getBytes(), 0, zeroIndex); return term; }
private void prepKeys() throws IOException { if (topKey != null) return; Text currentRow; Text currentCf; do { if (!sourceIter.hasTop()) return; currentRow = new Text(sourceIter.getTopKey().getRow()); currentCf = new Text(sourceIter.getTopKey().getColumnFamily()); keys.clear(); values.clear(); while (sourceIter.hasTop() && sourceIter.getTopKey().getRow().equals(currentRow) && sourceIter.getTopKey().getColumnFamily().equals(currentCf)) { keys.add(new Key(sourceIter.getTopKey())); values.add(new Value(sourceIter.getTopValue())); sourceIter.next(); } } while (!filter(currentRow, keys, values)); topKey = new Key(currentRow, currentCf); topValue = encodeColumnFamily(keys, values); }
entry.getKey().write(dataOut); entry.getValue().write(dataOut); if (entry.getKey().getColumnFamily().equals(DataFileColumnFamily.NAME)) { String path = fs.getFullPath(entry.getKey()).toString(); String tokens[] = path.split("/"); if (tokens.length < 1) {
/** * Deletes a row, given a Scanner of JUST that row. */ private void deleteRow(Scanner scanner, BatchWriter bw) throws MutationsRejectedException { Mutation deleter = null; // iterate through the keys final Text row = new Text(); final Text cf = new Text(); final Text cq = new Text(); for (Entry<Key, Value> entry : scanner) { // create a mutation for the row if (deleter == null) { entry.getKey().getRow(row); deleter = new Mutation(row); } entry.getKey().getColumnFamily(cf); entry.getKey().getColumnQualifier(cq); // the remove function adds the key with the delete flag set to true deleter.putDelete(cf, cq); } bw.addMutation(deleter); } }
public void deleteProblemReports(Table.ID table) throws Exception { if (isMeta(table)) { Iterator<ProblemReport> pri = iterator(table); while (pri.hasNext()) { pri.next().removeFromZooKeeper(context); } return; } Scanner scanner = context.createScanner(MetadataTable.NAME, Authorizations.EMPTY); scanner.addScanIterator(new IteratorSetting(1, "keys-only", SortedKeyIterator.class)); scanner.setRange(new Range(new Text("~err_" + table))); Mutation delMut = new Mutation(new Text("~err_" + table)); boolean hasProblems = false; for (Entry<Key,Value> entry : scanner) { hasProblems = true; delMut.putDelete(entry.getKey().getColumnFamily(), entry.getKey().getColumnQualifier()); } if (hasProblems) MetadataTableUtil.getMetadataTable(context).update(delMut); }
startRow = range.getStartKey().getRow(); else startRow = new Text(); Key key = entry.getKey(); if (key.getColumnFamily() .equals(MetadataSchema.TabletsSection.LastLocationColumnFamily.NAME)) { last = entry.getValue().toString(); if (key.getColumnFamily() .equals(MetadataSchema.TabletsSection.CurrentLocationColumnFamily.NAME) || key.getColumnFamily() .equals(MetadataSchema.TabletsSection.FutureLocationColumnFamily.NAME)) { location = entry.getValue().toString(); extent = new KeyExtent(key.getRow(), entry.getValue());
/** * Helper to extract the String version of the column family of a key/value pair. * * @param entry * @return column family */ public static String family(Map.Entry<BulkIngestKey,Value> entry) { return entry.getKey().getKey().getColumnFamily().toString(); }
/** * Deletes a row, given a Scanner of JUST that row. */ private void deleteRow(Scanner scanner, BatchWriter bw) throws MutationsRejectedException { Mutation deleter = null; // iterate through the keys final Text row = new Text(); final Text cf = new Text(); final Text cq = new Text(); for (Entry<Key, Value> entry : scanner) { // create a mutation for the row if (deleter == null) { entry.getKey().getRow(row); deleter = new Mutation(row); } entry.getKey().getColumnFamily(cf); entry.getKey().getColumnQualifier(cq); // the remove function adds the key with the delete flag set to true deleter.putDelete(cf, cq); } bw.addMutation(deleter); } }
} catch (InvalidProtocolBufferException e) { log.error("Encountered unparsable protobuf for key: {}", entry.getKey().toStringNoTruncate()); continue; Key k = entry.getKey(); k.getColumnFamily(colf); k.getColumnQualifier(colq); mutations.add(m); for (Entry<Table.ID,Long> entry : tableToTimeCreated.entrySet()) { log.info("Removing order mutation for table {} at {} for {}", entry.getKey(), entry.getValue(), row); Mutation orderMutation = OrderSection.createMutation(row.toString(), entry.getValue());
/** * Define the start key given the from condition. * * @param from * @return */ protected Key getStartKey(Map.Entry<Key,Document> from) { return new Key(from.getKey().getRow(), from.getKey().getColumnFamily()); }
private Map.Entry<BulkIngestKey,Value> getFieldEntry(Multimap<BulkIngestKey,Value> written, String field) { for (Map.Entry<BulkIngestKey,Value> entry : written.entries()) { String fam = entry.getKey().getKey().getColumnFamily().toString(); if (fam.equals(field)) { return entry; } } return null; }