...
Connector | Sink | StatefulSink | TwoPhaseCommittingSink | WithPreWriteTopology | WithPreCommitTopology | WithPostCommitTopology |
---|---|---|---|---|---|---|
Kafka | ||||||
File | ||||||
Elasticsearch | ||||||
Async | ||||||
Hive | ( | |||||
Iceberg |
Hive and Iceberg will leverage small file compaction. Though both connectors implement it differently. Hive will try to do a best-effort compaction before actually making the files visible in the metastore because it does not support updates. On the other hand, the Iceberg connector writes the files immediately and the post topology will take of compacting the already written files and updating the file log after the compaction.
Limitations
Since the DataStream class is not part of the flink-core module all advanced Sink interfaces are part of the flink-streaming-java. We mitigate the problem by adding enough documentation i.e. in the doc strings that users are aware of the split.
...