数据湖探索 DLI-DWS输出流(通过JDBC方式):关键字

时间:2023-11-10 09:20:52

关键字

表1 关键字说明

参数

是否必选

说明

type

输出通道类型,rds表示输出到关系型数据库或者数据仓库服务中。

username

数据库连接用户名。

password

数据库连接密码。

db_url

数据库连接地址格式为:postgresql://ip:port/database。

table_name

要插入数据的数据库表名。数据库表需事先创建好。

db_columns

支持配置输出流属性和数据库表属性的对应关系,需严格按照输出流的属性顺序配置。

示例:

1
2
3
4
5
6
7
8
9
create sink stream a3(student_name  string, student_age int) 
  with (
    type = "rds",
    username = "root",
    password = "xxxxxxxx",
    db_url = "postgresql://192.168.0.102:8000/test1",
    db_columns = "name,age",
    table_name = "t1"
  );

student_name对应数据库里的name属性,student_age对应数据库里的age属性。

说明:
  • 当不配置db_columns时,若输出流属性个数小于数据库表属性个数,并且数据库多出的属性都是nullable或者有默认值时,这种情况也允许。

primary_key

如果想通过主键实时更新表中的数据,需要在创建数据表的时候增加primary_key配置项,如下面例子中的c_timeminute。配置primary_key后,在进行数据写入操作时,如果primary_key存在,则进行更新操作,否则进行插入操作。

示例:

1
2
3
4
5
6
7
8
9
CREATE SINK STREAM test(c_timeminute LONG, c_cnt LONG)
  WITH (
    type = "rds",
    username = "root",
    password = "xxxxxxxx",
    db_url = "postgresql://192.168.0.12:8000/test",
    table_name = "test",
    primary_key = "c_timeminute"
  );
support.huaweicloud.com/sqlref-flink-dli/dli_08_0247.html