JDBC Connector
Apache Flink® 官方提供了JDBC的连接器,用于从 JDBC 中读取或者向其中写入数据,可提供至少一次(AT_LEAST_ONCE)的处理语义。
Apache StreamPark 中基于两阶段提交实现了精确一次(EXACTLY_ONCE)语义的 JdbcSink
类,并且采用 HikariCP
为连接池,让数据的读取和写入更简单更准确。
JDBC 信息配置
在 Apache StreamPark 中,JDBC Connector 的实现用到了 HikariCP
连接池,相关的配置在jdbc
的 namespace 下,约定的配置如下:
jdbc:
semantic: EXACTLY_ONCE # EXACTLY_ONCE|AT_LEAST_ONCE|NONE
username: root
password: 123456
driverClassName: com.mysql.jdbc.Driver
connectionTimeout: 30000
idleTimeout: 30000
maxLifetime: 30000
maximumPoolSize: 6
jdbcUrl: jdbc:mysql://localhost:3306/test?useSSL=false&allowPublicKeyRetrieval=true