Flink深入浅出:JDBC Source从理论到实战

2020-07-08 00:00:00 数据 并行 执行 分区 下界

Flink 1.10之后针对Table API&SQL提供了很多外部连接器,可以使用DDL快速创建外部表,从而可以在Flink中基于SQL直接读取外部数据源。在大数据环境中,有一个很经典的场景是数据交换——即以一定的时间周期把业务库中的数据同步到hive或者hdfs中,下面就先介绍官方的使用方法,再通过源码分析其中的技术细节。

1 表定义

jdbc表的定义跟普通的表定义,区别就在于with中的参数:

CREATE TABLE MyUserTable (  ... ) WITH ( 
'connector.type' = 'jdbc',
'connector.url' = 'jdbc:mysql://localhost:3306/flink-test',
'connector.table' = 'jdbc_table_name',
'connector.driver' = 'com.mysql.jdbc.Driver',
'connector.username' = 'name',
'connector.password' = 'password',
-- 以上都是必填参数
'connector.read.partition.column' = 'column_name',
'connector.read.partition.num' = '50',
'connector.read.partition.lower-bound' = '500',
'connector.read.partition.upper-bound' = '1000',
'connector.read.fetch-size' = '100'
)

相关文章