use of org.apache.apex.malhar.contrib.memsql.MemsqlPOJOOutputOperator in project apex-malhar by apache.
the class MemsqlInputBenchmarkTest method testMethod.
@Test
public void testMethod() throws SQLException, IOException {
Configuration conf = new Configuration();
InputStream inputStream = new FileInputStream("src/site/conf/dt-site-memsql.xml");
conf.addResource(inputStream);
MemsqlStore memsqlStore = new MemsqlStore();
memsqlStore.setDatabaseUrl(conf.get("dt.rootDbUrl"));
memsqlStore.setConnectionProperties(conf.get("dt.application.MemsqlInputBenchmark.operator.memsqlInputOperator.store.connectionProperties"));
AbstractMemsqlOutputOperatorTest.memsqlInitializeDatabase(memsqlStore);
MemsqlPOJOOutputOperator outputOperator = new MemsqlPOJOOutputOperator();
outputOperator.getStore().setDatabaseUrl(conf.get("dt.application.MemsqlInputBenchmark.operator.memsqlInputOperator.store.dbUrl"));
outputOperator.getStore().setConnectionProperties(conf.get("dt.application.MemsqlInputBenchmark.operator.memsqlInputOperator.store.connectionProperties"));
outputOperator.setBatchSize(BATCH_SIZE);
Random random = new Random();
com.datatorrent.api.Attribute.AttributeMap.DefaultAttributeMap attributeMap = new com.datatorrent.api.Attribute.AttributeMap.DefaultAttributeMap();
attributeMap.put(OperatorContext.PROCESSING_MODE, ProcessingMode.AT_LEAST_ONCE);
attributeMap.put(OperatorContext.ACTIVATION_WINDOW_ID, -1L);
attributeMap.put(DAG.APPLICATION_ID, APP_ID);
OperatorContext context = mockOperatorContext(OPERATOR_ID, attributeMap);
long seedSize = conf.getLong("dt.seedSize", SEED_SIZE);
outputOperator.setup(context);
outputOperator.beginWindow(0);
for (long valueCounter = 0; valueCounter < seedSize; valueCounter++) {
outputOperator.input.put(random.nextInt());
}
outputOperator.endWindow();
outputOperator.teardown();
MemsqlInputBenchmark app = new MemsqlInputBenchmark();
LocalMode lm = LocalMode.newInstance();
try {
lm.prepareDAG(app, conf);
LocalMode.Controller lc = lm.getController();
lc.run(20000);
} catch (Exception ex) {
DTThrowable.rethrow(ex);
}
IOUtils.closeQuietly(inputStream);
}
use of org.apache.apex.malhar.contrib.memsql.MemsqlPOJOOutputOperator in project apex-malhar by apache.
the class MemsqlOutputBenchmark method populateDAG.
@Override
public void populateDAG(DAG dag, Configuration conf) {
CustomRandomEventGenerator randomEventGenerator = dag.addOperator("randomEventGenerator", new CustomRandomEventGenerator());
randomEventGenerator.setMaxCountOfWindows(MAX_WINDOW_COUNT);
randomEventGenerator.setTuplesBlastIntervalMillis(TUPLE_BLAST_MILLIS);
randomEventGenerator.setTuplesBlast(TUPLE_BLAST);
LOG.debug("Before making output operator");
MemsqlPOJOOutputOperator memsqlOutputOperator = dag.addOperator("memsqlOutputOperator", new MemsqlPOJOOutputOperator());
LOG.debug("After making output operator");
memsqlOutputOperator.setBatchSize(DEFAULT_BATCH_SIZE);
dag.addStream("memsqlConnector", randomEventGenerator.integer_data, memsqlOutputOperator.input);
}
Aggregations