自定义Connector时,RichSinkFunction和RichOutputFormat可以选择一个进行实现,那么作为开发者应该如何选择呢?*来自志愿者整理的flink
RichOutputFormat 实现的最终是由 Flink 提供的 OutputFormatSinkFunction 再包装成 SinkFunction。 OutputFormatSinkFunction 很早就 Deprecated 了,没有实现 CheckpointedFunction 。 jdbc 的是实现了 RichOutputFormat ,但是最后用 GenericJdbcSinkFunction 包装了一次, GenericJdbcSinkFunction 实现了 CheckpointedFunction, 刚好最近遇到 https://issues.apache.org/jira/browse/FLINK-20552 ,可以看下这个 BUG 的修复。
1.12 之前 : org.apache.flink.table.planner.plan.nodes.common.CommonPhysicalSink https://github.com/apache/flink/blob/release-1.12/flink-table/flink-table-planner-blink/src/main/scala/org/apache/flink/table/planner/plan/nodes/common/CommonPhysicalSink.scala#L97-L101 最新 1.13 : org.apache.flink.table.planner.plan.nodes.exec.common.CommonExecSink https://github.com/apache/flink/blob/master/flink-table/flink-table-planner-blink/src/main/java/org/apache/flink/table/planner/plan/nodes/exec/common/CommonExecSink.java#L153-L163*来自志愿者整理的flink
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。