T
- The type of elements that this WindowBuffer
can store.@Internal public class ReducingWindowBuffer<T> extends Object implements WindowBuffer<T,T>
WindowBuffer
that stores elements on the Java Heap. This buffer uses a
ReduceFunction
to incrementally aggregate elements that are added to the buffer.Modifier and Type | Class and Description |
---|---|
static class |
ReducingWindowBuffer.Factory<T> |
Modifier | Constructor and Description |
---|---|
protected |
ReducingWindowBuffer(ReduceFunction<T> reduceFunction,
StreamRecord<T> data,
TypeSerializer<T> serializer) |
protected |
ReducingWindowBuffer(ReduceFunction<T> reduceFunction,
TypeSerializer<T> serializer) |
Modifier and Type | Method and Description |
---|---|
Iterable<StreamRecord<T>> |
getElements()
Returns all elements that are currently in the buffer.
|
Iterable<T> |
getUnpackedElements()
Returns all elements that are currently in the buffer.
|
int |
size()
Returns the number of elements that are currently in the buffer.
|
void |
snapshot(DataOutputView out)
Writes the contents of the window buffer to a
DataOutputView for checkpointing. |
void |
storeElement(StreamRecord<T> element)
Adds the element to the buffer.
|
protected ReducingWindowBuffer(ReduceFunction<T> reduceFunction, TypeSerializer<T> serializer)
protected ReducingWindowBuffer(ReduceFunction<T> reduceFunction, StreamRecord<T> data, TypeSerializer<T> serializer)
public void storeElement(StreamRecord<T> element) throws Exception
WindowBuffer
storeElement
in interface WindowBuffer<T,T>
element
- The element to add.Exception
public Iterable<StreamRecord<T>> getElements()
WindowBuffer
getElements
in interface WindowBuffer<T,T>
public Iterable<T> getUnpackedElements()
WindowBuffer
StreamRecord
.getUnpackedElements
in interface WindowBuffer<T,T>
public int size()
WindowBuffer
size
in interface WindowBuffer<T,T>
public void snapshot(DataOutputView out) throws IOException
WindowBuffer
DataOutputView
for checkpointing.snapshot
in interface WindowBuffer<T,T>
IOException
Copyright © 2014–2017 The Apache Software Foundation. All rights reserved.