class DeltaCommittable extends Serializable
Committable object that carries the information about files written to the file system during particular checkpoint interval.
As io.delta.flink.sink.DeltaSink implements both
org.apache.flink.api.connector.sink.Committer and
org.apache.flink.api.connector.sink.GlobalCommitter and
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#commit
information carried inside DeltaPendingFile are used. Next during
org.apache.flink.api.connector.sink.GlobalCommitter#commit we are using both:
metadata carried inside DeltaPendingFile and 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
- Alphabetic
- By Inheritance
- DeltaCommittable
- Serializable
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new DeltaCommittable(deltaPendingFile: DeltaPendingFile, appId: String, checkpointId: Long)
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
- def getAppId(): String
- def getCheckpointId(): Long
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def getDeltaPendingFile(): DeltaPendingFile
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()