Search in sources :

Example 1 with SumLong

use of org.apache.apex.malhar.lib.window.accumulation.SumLong in project apex-malhar by apache.

the class ApexWindowedStreamImpl method countByKey.

@Override
public <K, STREAM extends WindowedStream<Tuple.WindowedTuple<KeyValPair<K, Long>>>> STREAM countByKey(Function.ToKeyValue<T, K, Long> convertToKeyValue, Option... opts) {
    WindowedStream<Tuple<KeyValPair<K, Long>>> kvstream = map(convertToKeyValue);
    KeyedWindowedOperatorImpl<K, Long, MutableLong, Long> keyedWindowedOperator = createKeyedWindowedOperator(new SumLong());
    return kvstream.addOperator(keyedWindowedOperator, keyedWindowedOperator.input, keyedWindowedOperator.output, opts);
}
Also used : MutableLong(org.apache.commons.lang3.mutable.MutableLong) SumLong(org.apache.apex.malhar.lib.window.accumulation.SumLong) SumLong(org.apache.apex.malhar.lib.window.accumulation.SumLong) MutableLong(org.apache.commons.lang3.mutable.MutableLong) Tuple(org.apache.apex.malhar.lib.window.Tuple)

Example 2 with SumLong

use of org.apache.apex.malhar.lib.window.accumulation.SumLong in project apex-malhar by apache.

the class ApexWindowedStreamImpl method count.

@Override
public <STREAM extends WindowedStream<Tuple.WindowedTuple<Long>>> STREAM count(Option... opts) {
    Function.MapFunction<T, Tuple<Long>> kVMap = new Function.MapFunction<T, Tuple<Long>>() {

        @Override
        public Tuple<Long> f(T input) {
            if (input instanceof Tuple.TimestampedTuple) {
                return new Tuple.TimestampedTuple<>(((Tuple.TimestampedTuple) input).getTimestamp(), 1L);
            } else {
                return new Tuple.TimestampedTuple<>(System.currentTimeMillis(), 1L);
            }
        }
    };
    WindowedStream<Tuple<Long>> innerstream = map(kVMap);
    WindowedOperatorImpl<Long, MutableLong, Long> windowedOperator = createWindowedOperator(new SumLong());
    return innerstream.addOperator(windowedOperator, windowedOperator.input, windowedOperator.output, opts);
}
Also used : Function(org.apache.apex.malhar.lib.function.Function) MutableLong(org.apache.commons.lang3.mutable.MutableLong) SumLong(org.apache.apex.malhar.lib.window.accumulation.SumLong) SumLong(org.apache.apex.malhar.lib.window.accumulation.SumLong) MutableLong(org.apache.commons.lang3.mutable.MutableLong) Tuple(org.apache.apex.malhar.lib.window.Tuple)

Aggregations

Tuple (org.apache.apex.malhar.lib.window.Tuple)2 SumLong (org.apache.apex.malhar.lib.window.accumulation.SumLong)2 MutableLong (org.apache.commons.lang3.mutable.MutableLong)2 Function (org.apache.apex.malhar.lib.function.Function)1