.where(1) .equalTo(1) .with(new T3T5Join()); .where(0,1) .equalTo(0,4) .with(new T3T5Join()); .where(1) .equalTo(1) .with(new T3T5Join()); .where(1) .equalTo(1) .with(new T3T5Join()); .where(1) .equalTo(1) .with(new LeftReturningJoin()); .where(1) .equalTo(1) .with(new RightReturningJoin()); .where(1) .equalTo(4) .with(new T3T5BCJoin()) .withBroadcastSet(intDs, "ints");
.join(edgesById).where(Triad.V2,Triad.V3).equalTo(Edge.V1,Edge.V2).with(new TriadFilter());
.join(edgesById).where(Triad.V2,Triad.V3).equalTo(Edge.V1,Edge.V2).with(new TriadFilter());
.with(new FindCandidatesJoin()) .groupBy(new KeySelector<Long, Long>() { public Long getKey(Long id) { return id; } public Long getKey(Tuple2<Long, Long> vertexWithId) { return vertexWithId.f1; } }).with(new FindCandidatesDependenciesJoin()); .with(new NeighborWithComponentIDJoin()) .groupBy(0).reduceGroup(new MinimumReduce());
.join(edgesById).where(Triad.V2, Triad.V3).equalTo(Edge.V1, Edge.V2).with(new TriadFilter());
.join(edgesById).where(Triad.V2, Triad.V3).equalTo(Edge.V1, Edge.V2).with(new TriadFilter());
public static DataSet<Tuple2<Long, Double>> constructPlan(DataSet<Tuple2<Long, Double>> initialData, int numIterations) { DeltaIteration<Tuple2<Long, Double>, Tuple2<Long, Double>> iteration = initialData.iterateDelta(initialData, numIterations, 0); DataSet<Tuple2<Long, Double>> delta = iteration.getSolutionSet() .join(iteration.getWorkset().flatMap(new Duplicator())).where(0).equalTo(0).with(new SummingJoin()).name(JOIN_1) .groupBy(0).aggregate(Aggregations.MIN, 1).map(new Expander()) .join(iteration.getSolutionSet()).where(0).equalTo(0).with(new SummingJoinProject()).name(JOIN_2); DataSet<Tuple2<Long, Double>> changes = delta.groupBy(0).aggregate(Aggregations.SUM, 1); DataSet<Tuple2<Long, Double>> result = iteration.closeWith(delta, changes); return result; }