package committables
Type Members
-
class
DeltaCommittable extends Serializable
Committable object that carries the information about files written to the file system during particular checkpoint interval.
Committable object that carries the information about files written to the file system during particular checkpoint interval.
As
io.delta.flink.sink.DeltaSinkimplements bothorg.apache.flink.api.connector.sink.Committerandorg.apache.flink.api.connector.sink.GlobalCommitterand then its committable must provide all metadata for committing data on both levels.In order to commit data during
org.apache.flink.api.connector.sink.Committer#commitinformation carried insideDeltaPendingFileare used. Next duringorg.apache.flink.api.connector.sink.GlobalCommitter#commitwe are using both: metadata carried insideDeltaPendingFileand also transactional identifier constructed by application's unique id and checkpoint interval's id.Lifecycle of instances of this class is as follows:
- Every instance is created in
io.delta.flink.sink.internal.writer.DeltaWriterBucket#prepareCommitmethod during a pre-commit phase. - When certain checkpointing barriers are reached then generated committables are snapshotted along with the rest of the application's state. See Flink's docs for details
- See also
- During commit phase every committable is first delivered to
io.delta.flink.sink.internal.committer.DeltaCommitter#commitand then toio.delta.flink.sink.internal.committer.DeltaGlobalCommitter#combinemethods when they are being committed. - If there's any failure of the app's execution then Flink may recover previously generated set of committables that may have not been committed. In such cases those recovered committables will be again passed to the committers' instance along with the new committables from the next checkpoint interval.
- If checkpoint was successfull then committables from the given checkpoint interval are no longer recovered and exist only in the previously snapshotted states.
- During commit phase every committable is first delivered to
- Every instance is created in
-
class
DeltaCommittableSerializer extends SimpleVersionedSerializer[DeltaCommittable]
Versioned serializer for
DeltaCommittable. -
class
DeltaGlobalCommittable extends AnyRef
Simple wrapper class for a collection of
DeltaCommittableinstances.Simple wrapper class for a collection of
DeltaCommittableinstances.This class is provided to comply with the
org.apache.flink.api.connector.sink.GlobalCommitterinterfaces' structure. It's only purpose is to wrapDeltaCommittablecollection duringio.delta.flink.sink.internal.committer.DeltaGlobalCommitter#combinemethod that will be further flattened and processed insideio.delta.flink.sink.internal.committer.DeltaGlobalCommitter#commitmethod.Lifecycle of instances of this class is as follows:
- Every instance is created in
io.delta.flink.sink.internal.committer.DeltaGlobalCommitter#combinemethod during a global commit phase. - When certain checkpointing barriers are reached then generated committables are snapshotted along with the rest of the application's state. See Flink's docs for details
- See also
- Every
DeltaGlobalCommittableinstance is delivered toio.delta.flink.sink.internal.committer.DeltaGlobalCommitter#combinemethod when they are being committed to aio.delta.standalone.DeltaLog. - If there's any failure of the app's execution then Flink may recover previously generated
set of committables that may have not been committed. In such cases those recovered
committables will be again passed to the
org.apache.flink.api.connector.sink.GlobalCommitterinstance along with the new set of committables from the next checkpoint interval. - If checkpoint was successfull then committables from the given checkpoint interval are no longer recovered and exist only in the previously snapshotted states.
- Every
- Every instance is created in
-
class
DeltaGlobalCommittableSerializer extends SimpleVersionedSerializer[DeltaGlobalCommittable]
Versioned serializer for
DeltaGlobalCommittable.