Refine search
/** * Split up the input record to make coding a bit more manageable. * * @param input The input record. * @param emitter The emitter to send the output to. */ @Override public void process(Pair<Pair<K, Integer>, Iterable<Pair<U, V>>> input, Emitter<Pair<K, Pair<U, V>>> emitter) { join(input.first().first(), input.first().second(), input.second(), emitter); } }
@Override public void process(Pair<T, Pair<Collection<Boolean>, Collection<Boolean>>> input, Emitter<T> emitter) { Pair<Collection<Boolean>, Collection<Boolean>> groups = input.second(); if (!groups.first().isEmpty() && !groups.second().isEmpty()) { emitter.emit(input.first()); } } }, coll1.getPType());
@Override public void process(Pair<T, Pair<Collection<Boolean>, Collection<Boolean>>> input, Emitter<T> emitter) { Pair<Collection<Boolean>, Collection<Boolean>> groups = input.second(); if (!groups.first().isEmpty() && groups.second().isEmpty()) { emitter.emit(input.first()); } } }, coll1.getPType());
@Override public void process(Pair<T, Pair<Collection<Boolean>, Collection<Boolean>>> input, Emitter<Tuple3<T, T, T>> emitter) { Pair<Collection<Boolean>, Collection<Boolean>> groups = input.second(); boolean inFirst = !groups.first().isEmpty(); boolean inSecond = !groups.second().isEmpty(); T t = input.first(); emitter.emit(Tuple3.of(inFirst && !inSecond ? t : null, !inFirst && inSecond ? t : null, inFirst && inSecond ? t : null)); } }, typeFamily.triples(type, type, type));
@Override public void process(Pair<T, Pair<Collection<Boolean>, Collection<Boolean>>> input, Emitter<Tuple3<T, T, T>> emitter) { Pair<Collection<Boolean>, Collection<Boolean>> groups = input.second(); boolean inFirst = !groups.first().isEmpty(); boolean inSecond = !groups.second().isEmpty(); T t = input.first(); emitter.emit(Tuple3.of( inFirst && !inSecond ? t : null, !inFirst && inSecond ? t : null, inFirst && inSecond ? t : null)); } }, typeFamily.triples(type, type, type));
@Override public void process( Pair<Pair<Integer, Integer>, Pair<Collection<Pair<K1, U>>, Collection<Pair<K2, V>>>> input, Emitter<Pair<Pair<K1, K2>, Pair<U, V>>> emitter) { for (Pair<K1, U> l: input.second().first()) { for (Pair<K2, V> r: input.second().second()) { emitter.emit(Pair.of(Pair.of(l.first(), r.first()), Pair.of(l.second(), r.second()))); } } } },