ds1.join(ds2) .where(1) .equalTo(1) .with(new T3T5Join()); ds1.join(ds2) .where(0,1) .equalTo(0,4) .with(new T3T5Join()); ds1.join(ds2) .where(0) .equalTo(2); DataSet<Tuple2<String, String>> joinDs = ds1.joinWithHuge(ds2) .where(1) .equalTo(1) .with(new T3T5Join()); ds1.joinWithTiny(ds2) .where(1) .equalTo(1) .with(new T3T5Join()); ds1.join(ds2) .where(1) .equalTo(1) .with(new LeftReturningJoin());
.where(0).equalTo(0) .projectFirst(1).projectSecond(1,2) .types(Integer.class, Double.class, Double.class); .where(3).equalTo(0) .projectFirst(0,1,2).projectSecond(1).projectFirst(4) .types(Integer.class, String.class, String.class, String.class, Double.class); .where(0).equalTo(0) .projectFirst(0,1,2,3,4).projectSecond(1) .types(Integer.class, String.class, String.class, String.class, Double.class, Double.class);
.where(0).equalTo(0) .projectFirst(1).projectSecond(1,2) .types(Integer.class, Double.class, Double.class); .where(3).equalTo(0) .projectFirst(0,1,2).projectSecond(1).projectFirst(4) .types(Integer.class, String.class, String.class, String.class, Double.class); .where(0).equalTo(0) .projectFirst(0,1,2,3,4).projectSecond(1) .types(Integer.class, String.class, String.class, String.class, Double.class, Double.class);
.where(0).equalTo(0) .projectFirst(0,1).projectSecond(1) .types(Integer.class, Integer.class, Double.class);
.where(0).equalTo(0) .projectFirst(0,1).projectSecond(1) .types(Integer.class, Integer.class, Double.class);
.where(0).equalTo(1) .projectSecond(0,1,2) .types(Integer.class, String.class, Integer.class);
.where(0).equalTo(1) .projectSecond(0,1,2) .types(Integer.class, String.class, Integer.class);
.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());
initialSolutionSet.iterateDelta(initialSolutionSet, MAX_ITERATIONS, keyPosition); DataSet<Long> candidates = iteration.getWorkset().join(edges).where(0).equalTo(0) .with(new FindCandidatesJoin()) .groupBy(new KeySelector<Long, Long>() { .where(new KeySelector<Long, Long>() { public Long getKey(Long id) { return id; } }).equalTo(new KeySelector<Tuple2<Long, Long>, Long>() { public Long getKey(Tuple2<Long, Long> vertexWithId) { return vertexWithId.f1; } candidatesDependencies.join(iteration.getSolutionSet()).where(0).equalTo(0) .with(new NeighborWithComponentIDJoin()) .groupBy(0).reduceGroup(new MinimumReduce()); verticesWithNewComponents.join(iteration.getSolutionSet()).where(0).equalTo(0) .flatMap(new MinimumIdFilter());
.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());
/** * Continues a Join transformation and defines a {@link KeySelector} function for the first join {@link DataSet}.</br> * The KeySelector function is called for each element of the first DataSet and extracts a single * key value on which the DataSet is joined. </br> * * @param keySelector The KeySelector function which extracts the key values from the DataSet on which it is joined. * @return An incomplete Join transformation. * Call {@link JoinOperatorSetsPredicate#equalTo(int...)} or {@link JoinOperatorSetsPredicate#equalTo(KeySelector)} * to continue the Join. * * @see KeySelector * @see DataSet */ public <K extends Comparable<K>> JoinOperatorSetsPredicate where(KeySelector<I1, K> keySelector) { return new JoinOperatorSetsPredicate(new Keys.SelectorFunctionKeys<I1, K>(keySelector, input1.getType())); }
/** * Continues a Join transformation. <br/> * Defines the {@link Tuple} fields of the first join {@link DataSet} that should be used as join keys.<br/> * <b>Note: Fields can only be selected as join keys on Tuple DataSets.</b><br/> * * @param fields The indexes of the Tuple fields of the first join DataSets that should be used as keys. * @return An incomplete Join transformation. * Call {@link JoinOperatorSetsPredicate#equalTo(int...)} or {@link JoinOperatorSetsPredicate#equalTo(KeySelector)} * to continue the Join. * * @see Tuple * @see DataSet */ public JoinOperatorSetsPredicate where(int... fields) { return new JoinOperatorSetsPredicate(new Keys.FieldPositionKeys<I1>(fields, input1.getType())); }