环境是flink1.11.2+idea
sql:
CREATE TABLE sourceTable (
platform STRING
,game_id bigint
) WITH (
...
);
CREATE TABLE sinktable (
platform STRING
,game_id bigint
) WITH (
'connector' = 'jdbc',
'url' = '',
'table-name' = '',
'driver' = 'com.mysql.jdbc.Driver',
'username' = '',
'password' = '',
'sink.buffer-flush.max-rows' = '2',
'sink.buffer-flush.interval' = '30s'
);
insert into sinktable select platform,game_id from sourceTable;
官方文档[1]中 , 说到 sink.buffer-flush.max-rows和sink.buffer-flush.interval 这两个属性可以设置成
'0' 来禁用他 , 不过我试了下是不行
如果设置如下
sink.buffer-flush.max-rows = '0'
'sink.buffer-flush.interval' = '60s'
导致每接收一条数据就插入数据库
如果设置如下
sink.buffer-flush.max-rows = '10'
'sink.buffer-flush.interval' = '0'
导致无法插入数据库
[1]:https://ci.apache.org/projects/flink/flink-docs-release-1.11/dev/table/connectors/jdbc.html#connector-options