首先阅读Apache Seatunnel官网的关于Flink-JDBC-Sink的文档格式
JdbcSink {
source_table_name = fake
driver = com.mysql.jdbc.Driver
url = "jdbc:mysql://localhost/test"
username = root
query = "insert into test(name,age) values(?,?)"
batch_size = 2
}
首先要吐槽一下就是官网的这个文档几乎什么都没说啊。
Seatunnel-2.1.1-flink-jdbc-sink
这样子有个问题,就是我能不能实现类似spark-jdbc-sink中的update呢?一个只能处理新增不能处理修改的Sink是不合格的!
直接加saveMode这个参数是不行,因为代码里就没有这个参数,要知道到底支持什么参数,必须要直接阅读源码才行。
查看Config.java可知,根本没有saveMo

本文详细探讨了Apache Seatunnel中Flink-JDBC-Sink的配置与源码分析,指出其文档的不足,并展示了如何在没有saveMode参数的情况下实现类似于Spark-JDBC-Sink的更新操作。通过使用`on duplicate key update` SQL语句,实现了流式数据源的Update功能。同时,文章强调了直接修改query参数来构造upsert语句的可能性。
1万+

被折叠的 条评论
为什么被折叠?



