@Override public IteratorOptions describeOptions() { String desc = "This iterator allows ranges of key to be transformed (with" + " the exception of row transformations)."; String authDesc = "Comma-separated list of user's scan authorizations. " + "If excluded or empty, then no visibility check is performed on transformed keys."; String bufferDesc = "Maximum buffer size (in accumulo memory spec) to use" + " for buffering keys before throwing a BufferOverflowException. Users" + " should keep this limit in mind when deciding what to transform. That" + " is, if transforming the column family for example, then all keys" + " sharing the same row and column family must fit within this limit" + " (along with their associated values)"; HashMap<String,String> namedOptions = new HashMap<>(); namedOptions.put(AUTH_OPT, authDesc); namedOptions.put(MAX_BUFFER_SIZE_OPT, bufferDesc); return new IteratorOptions(getClass().getSimpleName(), desc, namedOptions, null); }
if (iterOptions != null) { final IteratorOptions itopts = iterOptions.describeOptions(); iteratorName = itopts.getName(); reader.println(itopts.getDescription()); if (itopts.getNamedOptions() != null) { for (Entry<String,String> e : itopts.getNamedOptions().entrySet()) { prompt = Shell.repeat("-", 10) + "> set " + shortClassName + " parameter " + e.getKey() + ", " + e.getValue() + ": "; if (itopts.getUnnamedOptionDescriptions() != null) { for (String desc : itopts.getUnnamedOptionDescriptions()) { reader.println(Shell.repeat("-", 10) + "> entering options: " + desc); input = "start";
if (null != iterOptions) { final IteratorOptions itopts = iterOptions.describeOptions(); iteratorName = itopts.getName(); reader.println(itopts.getDescription()); if (itopts.getNamedOptions() != null) { for (Entry<String,String> e : itopts.getNamedOptions().entrySet()) { prompt = Shell.repeat("-", 10) + "> set " + shortClassName + " parameter " + e.getKey() + ", " + e.getValue() + ": "; if (itopts.getUnnamedOptionDescriptions() != null) { for (String desc : itopts.getUnnamedOptionDescriptions()) { reader.println(Shell.repeat("-", 10) + "> entering options: " + desc); input = "start";
@Override public IteratorOptions describeOptions() { IteratorOptions io = super.describeOptions(); io.addNamedOption(JEXL_OPTION, "The JEXL query string to evaulate edges against."); io.setName("edgeJexlFilter"); io.setDescription("EdgeFilterIterator evaluates arbitrary JEXL expressions against edge table keys."); io.addNamedOption(PROTOBUF_OPTION, "Use protocol buffer edge table format?"); io.setDescription("Determines which edge table format this iterator is supposed to be iterating over."); io.addNamedOption(INCLUDE_STATS_OPTION, "Include stats edges in the query result?"); io.setDescription("Will automatically return any stats edges"); io.addNamedOption(JEXL_STATS_OPTION, "Query string to evaluate stats edges against"); io.setDescription("Evalueates arbitrary JEXL expressions agains stats edge table keys"); io.addNamedOption(PREFILTER_WHITELIST, "Serialized Hashmultimap of fieldname:fieldvalue for prefiltering."); io.setDescription("Used to filter keys prior to building a jexl context."); return io; }
@Override public IteratorOptions describeOptions() { IteratorOptions io = super.describeOptions(); io.setName("regex"); io.setDescription("The RegExFilter/Iterator allows you to filter for" + " key/value pairs based on regular expressions"); io.addNamedOption(RegExFilter.ROW_REGEX, "regular expression on row"); io.addNamedOption(RegExFilter.COLF_REGEX, "regular expression on column family"); io.addNamedOption(RegExFilter.COLQ_REGEX, "regular expression on column qualifier"); io.addNamedOption(RegExFilter.VALUE_REGEX, "regular expression on value"); io.addNamedOption(RegExFilter.OR_FIELDS, "use OR instead of AND when multiple regexes given"); io.addNamedOption(RegExFilter.MATCH_SUBSTRING, "match on substrings"); io.addNamedOption(RegExFilter.ENCODING, "character encoding of byte array value (default is " + ENCODING_DEFAULT + ")"); return io; }
@Override public IteratorOptions describeOptions() { IteratorOptions io = new IteratorOptions("comb", "Combiners apply reduce functions to multiple versions of values with otherwise equal keys", null, null); io.addNamedOption(ALL_OPTION, "set to true to apply Combiner to every column, otherwise leave blank. if true, " + COLUMNS_OPTION + " option will be ignored."); io.addNamedOption(COLUMNS_OPTION, "<col fam>[:<col qual>]{,<col fam>[:<col qual>]} escape non-alphanum chars using %<hex>."); io.addNamedOption(REDUCE_ON_FULL_COMPACTION_ONLY_OPTION, "If true, only reduce on full major compactions. Defaults to false. "); return io; }
@Override public IteratorOptions describeOptions() { IteratorOptions io = super.describeOptions(); io.setName("visibilityFilter"); io.setDescription("The VisibilityFilter allows you to filter for key/value" + " pairs by a set of authorizations or filter invalid labels from corrupt" + " files."); io.addNamedOption(FILTER_INVALID_ONLY, "if 'true', the iterator is instructed to ignore the authorizations and" + " only filter invalid visibility labels (default: false)"); io.addNamedOption(AUTHS, "the serialized set of authorizations to filter against (default: empty" + " string, accepts only entries visible by all)"); return io; }
public IteratorOptionsBuilder setIteratorName(final String iteratorName) { options.setName(iteratorName); return this; }
public IteratorOptionsBuilder(final IteratorOptions options) { this.options = options; this.namedOptions = options.getNamedOptions(); }
@Override public IteratorOptions describeOptions() { IteratorOptions io = super.describeOptions(); io.setName("D4mRangeFilter"); io.setDescription("Filter based on ranges of strings in D4M syntax"); KeyPart[] values = KeyPart.values(); String[] strs = new String[values.length]; for (int i = 0; i < values.length; i++) { strs[i] = values[i].name(); } io.addNamedOption(KEYPART, "Which part of key to filter [" + Arrays.toString(strs) + "] [default " + KeyPart.COLQ.name()+"]"); io.addNamedOption(FILTER, "Column ranges to scan for remote Accumulo table, Matlab syntax. (default ':,' all)"); return io; }
@Override public IteratorOptions describeOptions() { IteratorOptions io = super.describeOptions(); io.setName("SimpleTwoScalar"); io.setDescription("A Combiner that operates on every pair of entries matching row through column visibility, that does not need to see the Key"); // io.addNamedOption(NEW_VISIBILITY, "Authorizations to use for new Keys created with MultiplyOp or EWiseOp usage"); return io; }
@Override public IteratorOptions describeOptions() { IteratorOptions io = super.describeOptions(); io.setName("KeyTwoScalar"); io.setDescription("A Combiner that operates on every pair of entries matching row through column visibility"); return io; }
@Override public IteratorOptions describeOptions() { return new IteratorOptions("DoubleDecodeIterator", "Decode a double value from its byte representation to a String representation", null, null); }
@Override public IteratorOptions describeOptions() { String description = "This iterator suppresses rows that exceed a specified number of columns. Once\n" + "a row exceeds the threshold, a marker is emitted and the row is always\n" + "suppressed by this iterator after that point in time.\n" + " This iterator works in a similar way to the RowDeletingIterator. See its\n" + " javadoc about locality groups.\n"; return new IteratorOptions(this.getClass().getSimpleName(), description, Collections.singletonMap(MAX_COLUMNS, "Number Of Columns To Begin Suppression"), null); }
@Override public IteratorOptions describeOptions() { IteratorOptions io = new IteratorOptions("comb", "Combiners apply reduce functions to multiple versions of values with otherwise equal keys", null, null); io.addNamedOption(ALL_OPTION, "set to true to apply Combiner to every column, otherwise leave blank. if true, " + COLUMNS_OPTION + " option will be ignored."); io.addNamedOption(COLUMNS_OPTION, "<col fam>[:<col qual>]{,<col fam>[:<col qual>]} escape non-alphanum chars using %<hex>."); io.addNamedOption(REDUCE_ON_FULL_COMPACTION_ONLY_OPTION, "If true, only reduce on full major compactions. Defaults to false. "); return io; }
@Override public IteratorOptions describeOptions() { return new IteratorOptions("FreeTextBooleanTree", "Perform a FreeText Query on properly formated table", Collections.singletonMap(queryOptionName, "the free text query"), null); }
@Override public IteratorOptions describeOptions() { Map<String,String> options = new HashMap<>(); options.put(UID_MAPPER, "UidMapper class"); return new IteratorOptions(getClass().getSimpleName(), "Enriches the data passing through the iterator", options, null); }
@Override public IteratorOptions describeOptions() { Map<String,String> options = new HashMap<>(); return new IteratorOptions(getClass().getSimpleName(), "returns the first and last keys isAlreadyFinished for the specified value and date range", options, null); }
@Override public IteratorOptions describeOptions() { // There are no options Map<String,String> m = Collections.emptyMap(); List<String> l = Collections.emptyList(); return new IteratorOptions("QueriesTableAgeOffIterator", "rejects keys whose timestamp is less than now", m, l); }
@Override public OptionDescriber.IteratorOptions describeOptions() { Map<String, String> options = new TreeMap<String, String>(); options.put(TIME_RANGE_PROP, "time range from the startTime (milliseconds)"); options.put(START_TIME_PROP, "if set, use the given value as the absolute time in milliseconds as the start time in the time range."); return new OptionDescriber.IteratorOptions("timeRangeFilter", "TimeRangeFilter removes entries with timestamps outside of the given time range: " + "[startTime - timeRange, startTime]", options, null); }