@Override public void visit(State state, Environment env, Properties props) throws Exception { Random rand = new Random(); String hostname = InetAddress.getLocalHost().getHostName().replaceAll("[-.]", "_"); String pid = env.getPid(); tableName = String.format("bulk_%s_%s_%d", hostname, pid, System.currentTimeMillis()); log.info("Starting bulk test on " + tableName); TableOperations tableOps = env.getConnector().tableOperations(); try { if (!tableOps.exists(getTableName())) { tableOps.create(getTableName()); IteratorSetting is = new IteratorSetting(10, SummingCombiner.class); SummingCombiner.setEncodingType(is, LongCombiner.Type.STRING); SummingCombiner.setCombineAllColumns(is, true); tableOps.attachIterator(getTableName(), is); } } catch (TableExistsException ex) { // expected if there are multiple walkers } state.set("rand", rand); state.set("fs", FileSystem.get(CachedConfiguration.getInstance())); state.set("bulkImportSuccess", "true"); BulkPlusOne.counter.set(0l); ThreadPoolExecutor e = new SimpleThreadPool(MAX_POOL_SIZE, "bulkImportPool"); state.set("pool", e); }
@Override public void init(SortedKeyValueIterator<Key,Value> source, Map<String,String> options, IteratorEnvironment env) throws IOException { super.init(source, options, env); parseOptions(options); parseScope(env); summer = new SummingCombiner(); IteratorSetting itset = new IteratorSetting(1, SummingCombiner.class); SummingCombiner.setCombineAllColumns(itset, true); SummingCombiner.setEncodingType(itset, LongCombiner.Type.STRING); summer.init(null, itset.getOptions(), env); }
private void createSeqTable(String table) { // create tables if they don't exist if (!connector.tableOperations().exists(table)) { IteratorSetting longCombiner = new IteratorSetting(1, SummingCombiner.class); SummingCombiner.setCombineAllColumns(longCombiner, true); SummingCombiner.setEncodingType(longCombiner, LongLexicoderTemp.class); try { connector.tableOperations().create(table); connector.tableOperations().addSplits(table, getSplitPoints(3)); GraphuloUtil.applyIteratorSoft(longCombiner, connector.tableOperations(), table); } catch (AccumuloException | AccumuloSecurityException | TableNotFoundException | TableExistsException e) { log.warn("", e); } } }
throw new IllegalArgumentException("countDegrees must use string encoding"); IteratorSetting is = new IteratorSetting(1, SummingCombiner.class); SummingCombiner.setCombineAllColumns(is, true); SummingCombiner.setEncodingType(is, Type.STRING); GraphuloUtil.applyIteratorSoft(is, connector.tableOperations(), countDegree);
SummingCombiner.setCombineAllColumns(summingCombiner, true);