更新时间:2022-07-12 GMT+08:00

JDBC源表

功能描述

JDBC连接器是Flink内置的Connector,用于从数据库读取相应的数据。

前提条件

  • 要与实例建立增强型跨源连接,且用户可以根据实际所需设置相应安全组规则。
  • 如何建立增强型跨源连接,请参考《数据湖探索用户指南》中增强型跨源连接章节。
  • 如何设置安全组规则,请参见《虚拟私有云用户指南》中“安全组”章节。

语法格式

create table jbdcSource (
  attr_name attr_type 
  (',' attr_name attr_type)* 
  (','PRIMARY KEY (attr_name, ...) NOT ENFORCED)
  (',' watermark for rowtime_column_name as watermark-strategy_expression)
)
with (
  'connector.type' = 'jdbc',
  'connector.url' = '',
  'connector.table' = '',
  'connector.username' = '',
  'connector.password' = ''
);

参数说明

表1 参数说明

参数

是否必选

说明

connector.type

数据源类型,‘jdbc’表示使用JDBC connector,必须为jdbc

connector.url

数据库的URL

connector.table

读取数据库中的数据所在的表名

connector.driver

连接数据库所需要的驱动。若未配置,则会自动通过URL提取

connector.username

数据库认证用户名,需要和'connector.password'一起配置

connector.password

数据库认证密码,需要和'connector.username'一起配置

connector.read.partition.column

用于对输入进行分区的列名

与connector.read.partition.lower-bound、connector.read.partition.upper-bound、

connector.read.partition.num必须同时存在或者同时不存在

connector.read.partition.lower-bound

第一个分区的最小值

与connector.read.partition.column、connector.read.partition.upper-bound、

connector.read.partition.num必须同时存在或者同时不存在

connector.read.partition.upper-bound

最后一个分区的最大值

与connector.read.partition.column、connector.read.partition.lower-bound、

connector.read.partition.num必须同时存在或者同时不存在

connector.read.partition.num

分区的个数

与connector.read.partition.column、connector.read.partition.upper-bound、

connector.read.partition.upper-bound必须同时存在或者同时不存在

connector.read.fetch-size

每次从数据库拉取数据的行数。默认值为0,表示忽略该提示。

注意事项

示例

create table jdbcSource (
  car_id STRING,
  car_owner STRING,
  car_age INT,
  average_speed INT,
  total_miles INT)
with (
  'connector.type' = 'jdbc',
  'connector.url' = 'jdbc:mysql://xx.xx.xx.xx:3306/xx',
  'connector.table' = 'jdbc_table_name',
  'connector.driver' = 'com.mysql.jdbc.Driver',
  'connector.username' = 'xxx',
  'connector.password' = 'xxxxxx'
);