IN - Type of the elements emitted by this sinkpublic abstract class GenericWriteAheadSink<IN> extends AbstractStreamOperator<IN> implements OneInputStreamOperator<IN,IN>
Incoming records are stored within a AbstractStateBackend, and only committed if a checkpoint is
completed.
| Modifier and Type | Field and Description |
|---|---|
protected static org.slf4j.Logger |
LOG |
protected org.apache.flink.api.common.typeutils.TypeSerializer<IN> |
serializer |
chainingStrategy, config, lastRecordAttributes1, lastRecordAttributes2, latencyStats, metrics, output, processingTimeService| Constructor and Description |
|---|
GenericWriteAheadSink(CheckpointCommitter committer,
org.apache.flink.api.common.typeutils.TypeSerializer<IN> serializer,
String jobID) |
| Modifier and Type | Method and Description |
|---|---|
void |
close()
This method is called at the very end of the operator's life, both in the case of a
successful completion of the operation, and in the case of a failure and canceling.
|
void |
initializeState(org.apache.flink.runtime.state.StateInitializationContext context)
Stream operators with state which can be restored need to override this hook method.
|
void |
notifyCheckpointComplete(long checkpointId) |
void |
open()
This method is called immediately before any elements are processed, it should contain the
operator's initialization logic, e.g.
|
void |
processElement(StreamRecord<IN> element)
Processes one element that arrived on this input of the
MultipleInputStreamOperator. |
protected abstract boolean |
sendValues(Iterable<IN> values,
long checkpointId,
long timestamp)
Write the given element into the backend.
|
void |
snapshotState(org.apache.flink.runtime.state.StateSnapshotContext context)
Stream operators with state, which want to participate in a snapshot need to override this
hook method.
|
finish, getChainingStrategy, getContainingTask, getCurrentKey, getExecutionConfig, getInternalTimerService, getKeyedStateBackend, getKeyedStateStore, getMetricGroup, getOperatorConfig, getOperatorID, getOperatorName, getOperatorStateBackend, getOrCreateKeyedState, getPartitionedState, getPartitionedState, getProcessingTimeService, getRuntimeContext, getTimeServiceManager, getUserCodeClassloader, hasKeyContext1, hasKeyContext2, initializeState, isUsingCustomRawKeyedState, notifyCheckpointAborted, prepareSnapshotPreBarrier, processLatencyMarker, processLatencyMarker1, processLatencyMarker2, processRecordAttributes, processRecordAttributes1, processRecordAttributes2, processWatermark, processWatermark1, processWatermark2, processWatermarkStatus, processWatermarkStatus1, processWatermarkStatus2, reportOrForwardLatencyMarker, setChainingStrategy, setCurrentKey, setKeyContextElement1, setKeyContextElement2, setProcessingTimeService, setup, snapshotStateclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitsetKeyContextElementfinish, getMetricGroup, getOperatorID, initializeState, prepareSnapshotPreBarrier, setKeyContextElement1, setKeyContextElement2, snapshotStatenotifyCheckpointAbortedgetCurrentKey, setCurrentKeyprocessLatencyMarker, processRecordAttributes, processWatermark, processWatermarkStatushasKeyContextprotected static final org.slf4j.Logger LOG
protected final org.apache.flink.api.common.typeutils.TypeSerializer<IN> serializer
public GenericWriteAheadSink(CheckpointCommitter committer, org.apache.flink.api.common.typeutils.TypeSerializer<IN> serializer, String jobID) throws Exception
Exceptionpublic void initializeState(org.apache.flink.runtime.state.StateInitializationContext context)
throws Exception
AbstractStreamOperatorinitializeState in interface StreamOperatorStateHandler.CheckpointedStreamOperatorinitializeState in class AbstractStreamOperator<IN>context - context that allows to register different states.Exceptionpublic void open()
throws Exception
AbstractStreamOperatorThe default implementation does nothing.
open in interface StreamOperator<IN>open in class AbstractStreamOperator<IN>Exception - An exception in this method causes the operator to fail.public void close()
throws Exception
StreamOperatorThis method is expected to make a thorough effort to release all resources that the operator has acquired.
NOTE:It can not emit any records! If you need to emit records at the end of
processing, do so in the StreamOperator.finish() method.
close in interface StreamOperator<IN>close in class AbstractStreamOperator<IN>Exceptionpublic void snapshotState(org.apache.flink.runtime.state.StateSnapshotContext context)
throws Exception
AbstractStreamOperatorsnapshotState in interface StreamOperatorStateHandler.CheckpointedStreamOperatorsnapshotState in class AbstractStreamOperator<IN>context - context that provides information and means required for taking a snapshotExceptionpublic void notifyCheckpointComplete(long checkpointId)
throws Exception
notifyCheckpointComplete in interface org.apache.flink.api.common.state.CheckpointListenernotifyCheckpointComplete in class AbstractStreamOperator<IN>Exceptionprotected abstract boolean sendValues(Iterable<IN> values, long checkpointId, long timestamp) throws Exception
values - The values to be writtencheckpointId - The checkpoint ID of the checkpoint to be writtentimestamp - The wall-clock timestamp of the checkpointExceptionpublic void processElement(StreamRecord<IN> element) throws Exception
InputMultipleInputStreamOperator.
This method is guaranteed to not be called concurrently with other methods of the operator.processElement in interface Input<IN>ExceptionCopyright © 2014–2024 The Apache Software Foundation. All rights reserved.