流数据分析没有专门为维表设计的DDL语法,只在标准的CREATE TABLE语法基础上增加一行PERIOD FOR SYSTEM_TIME的声明。该声明定义了维表的变化周期,即表明维表是一张会变化的表。

关系型数据库(RDS)

目前仅支持MySQL数据存储类型,数据库中必须要有真实的表存在。

示例:
CREATE TABLE rds_dim_table(
    id int,
    len int,
    content VARCHAR,
    PRIMARY KEY (id), -- 用作维表时,必须有声明的主键。
    PERIOD FOR SYSTEM_TIME--定义维表的变化周期,表明该表是一张会变化的表。
) with (
    type='rds',
    url='jdbc:mysql://your_db_host:your_db_port/your_db_name',
    tableName='your_table_name',
    userName='config://local_db_username', -- local_db_username为在配置中存储的用户名的key
    password='config://local_db_password' -- local_db_password为在配置中存储的密码的key
);
说明
  • 声明一个维表时,必须指明主键。在进行维表JOIN的时候,JOIN ON的条件必须包含所有主键的等值条件。RDS的主键可以定义为表的主键或唯一索引列。
  • 在实际使用过程中需要把所有your_xxxxxx参数值,替换为实际的数据库相关参数值,并根据如下步骤,在配置中心存入数据库的用户名密码。
    1. 物联网平台控制台左侧导航栏中,单击边缘计算 > 边缘实例
    2. 在相应的边缘实例右侧单击查看,进入实例详情页面,在实例信息页签下的网关右侧单击远程连接,登录远程控制台,执行如下命令:
      cd /linkedge/gateway/build/bin
      ./tool_config -s local_db_username root
      ./tool_config -s local_db_password xxxxxxxx

WITH参数

与Flink SQL创建RDS维表的WITH参数一致,详情请参见创建云数据库(RDS和DRDS)维表