use of com.hazelcast.jet.core.DAG in project hazelcast-jet by hazelcast.
the class AbstractDeploymentTest method testDeployment_whenJarAddedAsResource_thenClassesAvailableOnClassLoader.
@Test
public void testDeployment_whenJarAddedAsResource_thenClassesAvailableOnClassLoader() throws Throwable {
createCluster();
DAG dag = new DAG();
dag.newVertex("load class", new LoadPersonIsolatedMetaSupplier());
JetInstance jetInstance = getJetInstance();
JobConfig jobConfig = new JobConfig();
jobConfig.addJar(this.getClass().getResource("/deployment/sample-pojo-1.0-person.jar"));
executeAndPeel(jetInstance.newJob(dag, jobConfig));
}
use of com.hazelcast.jet.core.DAG in project hazelcast-jet by hazelcast.
the class AbstractDeploymentTest method testDeployment_whenClassAddedAsResource_thenClassAvailableOnClassLoader.
@Test
public void testDeployment_whenClassAddedAsResource_thenClassAvailableOnClassLoader() throws Throwable {
createCluster();
DAG dag = new DAG();
dag.newVertex("create and print person", new LoadPersonIsolatedMetaSupplier());
JobConfig jobConfig = new JobConfig();
URL classUrl = this.getClass().getResource("/cp1/");
URLClassLoader urlClassLoader = new URLClassLoader(new URL[] { classUrl }, null);
Class<?> appearance = urlClassLoader.loadClass("com.sample.pojo.person.Person$Appereance");
jobConfig.addClass(appearance);
executeAndPeel(getJetInstance().newJob(dag, jobConfig));
}
use of com.hazelcast.jet.core.DAG in project hazelcast-jet by hazelcast.
the class WatermarkMaxRetention_IntegrationTest method test_onEdgeCoalescing.
@Test
public void test_onEdgeCoalescing() {
DAG dag = new DAG();
// a vertex with two processor instances, one will emit a wm and the other won't
Vertex source = dag.newVertex("source", (int count) -> asList(new ListSource(singletonList(new Watermark(1))), new StuckForeverSourceP())).localParallelism(2);
Vertex map = dag.newVertex("map", MapWmToStringP::new).localParallelism(1);
Vertex sink = dag.newVertex("sink", writeListP(SINK_NAME));
dag.edge(between(source, map)).edge(between(map, sink));
doTest(dag);
}
use of com.hazelcast.jet.core.DAG in project hazelcast-jet by hazelcast.
the class WatermarkMaxRetention_IntegrationTest method test_onVertexCoalescing.
@Test
public void test_onVertexCoalescing() {
DAG dag = new DAG();
Vertex source0 = dag.newVertex("source0", () -> new ListSource(singletonList(new Watermark(1)))).localParallelism(1);
Vertex source1 = dag.newVertex("source1", StuckForeverSourceP::new);
// a vertex with two inputs, one will emit a wm and the other won't
Vertex map = dag.newVertex("map", MapWmToStringP::new).localParallelism(1);
Vertex sink = dag.newVertex("sink", writeListP(SINK_NAME));
dag.edge(from(source0).to(map, 0)).edge(from(source1).to(map, 1)).edge(between(map, sink));
doTest(dag);
}
use of com.hazelcast.jet.core.DAG in project hazelcast-jet by hazelcast.
the class HazelcastConnectorTest method when_readMap_withPredicateAndDistributedFunction.
@Test
public void when_readMap_withPredicateAndDistributedFunction() {
IMapJet<Integer, Integer> sourceMap = jetInstance.getMap(sourceName);
range(0, ENTRY_COUNT).forEach(i -> sourceMap.put(i, i));
DAG dag = new DAG();
Vertex source = dag.newVertex("source", readMapP(sourceName, e -> !e.getKey().equals(0), Map.Entry::getKey));
Vertex sink = dag.newVertex("sink", writeListP(sinkName));
dag.edge(between(source, sink));
jetInstance.newJob(dag).join();
IListJet<Object> list = jetInstance.getList(sinkName);
assertEquals(ENTRY_COUNT - 1, list.size());
assertFalse(list.contains(0));
assertTrue(list.contains(1));
}
Aggregations