public static IteratorSetting iteratorSetting(int priority, List<IteratorSetting.Column> columns) { IteratorSetting itset = new IteratorSetting(priority, DoubleStatsCombiner.class); if (columns == null || columns.isEmpty()) Combiner.setCombineAllColumns(itset, true); else Combiner.setColumns(itset, columns); return itset; }
public static IteratorSetting iteratorSetting(int priority, long tt) { IteratorSetting itset = new IteratorSetting(priority, SumConditionTimestampIterator.class); itset.addOption(TIMESTAMP_THRESHOLD, Long.toString(tt)); Combiner.setCombineAllColumns(itset, true); return itset; }
public static IteratorSetting iteratorSetting(int priority, int k) { IteratorSetting itset = new IteratorSetting(priority, KTrussFilterIterator.class); itset.addOption(K, Integer.toString(k)); Combiner.setCombineAllColumns(itset, true); return itset; }
/** Pass columns as null or empty to combine on all columns. */ public static IteratorSetting combinerSetting(int priority, List<IteratorSetting.Column> columns, int capacity, Class<? extends Combiner> combiner, Map<String,String> combinerOpts) { IteratorSetting itset = new IteratorSetting(priority, CacheIterator.class); if (columns == null || columns.isEmpty()) Combiner.setCombineAllColumns(itset, true); else Combiner.setColumns(itset, columns); itset.addOption(COMBINER, combiner.getName()); Preconditions.checkArgument(capacity > 0, "To use the LruCacheIterator, specify a positive capacity instead of "+capacity); itset.addOption(CAPACITY, Integer.toString(capacity)); if (combinerOpts != null) for (Map.Entry<String, String> entry : combinerOpts.entrySet()) itset.addOption(COMBINER_OPT_PREFIX + entry.getKey(), entry.getValue()); return itset; }
/** Pass columns as null or empty to combine on all columns. */ public static IteratorSetting combinerSetting(int priority, List<IteratorSetting.Column> columns, int capacity, Class<? extends Combiner> combiner, Map<String,String> combinerOpts, boolean useRegularMap) { IteratorSetting itset = new IteratorSetting(priority, LruCacheIterator.class); if (columns == null || columns.isEmpty()) Combiner.setCombineAllColumns(itset, true); else Combiner.setColumns(itset, columns); itset.addOption(COMBINER, combiner.getName()); Preconditions.checkArgument(capacity > 0, "To use the LruCacheIterator, specify a positive capacity instead of "+capacity); itset.addOption(CAPACITY, Integer.toString(capacity)); if (combinerOpts != null) for (Map.Entry<String, String> entry : combinerOpts.entrySet()) itset.addOption(COMBINER_OPT_PREFIX + entry.getKey(), entry.getValue()); if (useRegularMap) itset.addOption(USE_REGULAR_MAP, Boolean.TRUE.toString()); return itset; }
/** For use as a Combiner. Pass columns as null or empty to combine on all columns. */ public static IteratorSetting combinerSetting(int priority, List<IteratorSetting.Column> columns, ScalarOp op, ScalarType type, boolean keepZero) { IteratorSetting itset = new IteratorSetting(priority, MathTwoScalar.class); if (columns == null || columns.isEmpty()) Combiner.setCombineAllColumns(itset, true); else Combiner.setColumns(itset, columns); itset.addOptions(optionMap(op, type, null, keepZero)); // no newVisibility needed for Combiner usage return itset; }
/** Put a SummingIterator on all columns. */ public static void assignDegreeAccumulator(String tableName, Connector c) { IteratorSetting cfg = null; try { cfg = c.tableOperations().getIteratorSetting(tableName, ITER_SUMALL_NAME, IteratorUtil.IteratorScope.scan); } catch (AccumuloSecurityException | AccumuloException ignored) { } catch (TableNotFoundException e) { log.warn(tableName + " does not exist", e); } if (cfg != null) { log.info("table "+tableName+": iterator "+ITER_SUMALL_NAME+" already exists with priority "+cfg.getPriority()+" and options: "+cfg.getOptions()); } else { cfg = new IteratorSetting(2, ITER_SUMALL_NAME, SummingCombiner.class); //Combiner.setColumns(cfg, columnList); Combiner.setCombineAllColumns(cfg, true); LongCombiner.setEncodingType(cfg, LongCombiner.Type.STRING); try { //c.tableOperations().checkIteratorConflicts(tableName, cfg, EnumSet.allOf(IteratorUtil.IteratorScope.class)); c.tableOperations().attachIterator(tableName, cfg); } catch (AccumuloSecurityException | AccumuloException e) { log.warn("error trying to add "+ITER_SUMALL_NAME+" iterator to " + tableName, e); } catch (TableNotFoundException e) { log.warn(tableName + " does not exist", e); } } }
Combiner.setCombineAllColumns(itSet, true); else { List<IteratorSetting.Column> combineColumns = new LinkedList<>();