Interface SupportsCommitter<CommittableT>
-
- Type Parameters:
CommittableT- The type of the committables.
- All Known Subinterfaces:
TwoPhaseCommittingSink<InputT,CommT>
@PublicEvolving public interface SupportsCommitter<CommittableT>A mixin interface for aSinkwhich supports exactly-once semantics using a two-phase commit protocol. TheSinkconsists of aCommittingSinkWriterthat performs the precommits and aCommitterthat actually commits the data. To facilitate the separation theCommittingSinkWritercreates committables on checkpoint or end of input and the sends it to theCommitter.The
Sinkneeds to be serializable. All configuration should be validated eagerly. The respective sink writers and committers are transient and will only be created in the subtasks on the taskmanagers.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Committer<CommittableT>createCommitter(CommitterInitContext context)Creates aCommitterthat permanently makes the previously written data visible throughCommitter.commit(Collection).SimpleVersionedSerializer<CommittableT>getCommittableSerializer()Returns the serializer of the committable type.
-
-
-
Method Detail
-
createCommitter
Committer<CommittableT> createCommitter(CommitterInitContext context) throws IOException
Creates aCommitterthat permanently makes the previously written data visible throughCommitter.commit(Collection).- Parameters:
context- The context information for the committer initialization.- Returns:
- A committer for the two-phase commit protocol.
- Throws:
IOException- for any failure during creation.
-
getCommittableSerializer
SimpleVersionedSerializer<CommittableT> getCommittableSerializer()
Returns the serializer of the committable type.
-
-