基于原生DDL语句创建元表

在Flink SQL任务中,Dataphin支持通过原生DDL语句方式快速创建元表,提高开发速度及效率。本文将指导您如何基于原生DDL语句创建元表。

背景信息

元表是在原生DDL开发上更高一层的逻辑概念,元表是通过数据管理的跨存储类型表。开发过程中所用到的输入表、输出表、维表可以通过创建元表方式来进行创建和管理,以支持您通过引用元表的方式来创建其他数据表。有效解决原生DDL开发方式的研发路径复杂,密码明文记录,安全性差,研发效率低等问题。更多信息,请参见Dataphin元表开发方式(推荐)

步骤一:新建Flink SQL任务

  1. 请参见数据开发入口,进入数据开发页面。

  2. 按照下图操作指引,进入新建Flink_SQL任务对话框。

    image..png

  3. 新建Flink_SQL任务对话框,配置参数。

    参数

    说明

    任务名称

    名称的命名规则如下: 

    • 只能包含小写英文字母、数字、下划线(_)。

    • 名称的长度范围为3~62个字符。

    • 项目内的名称不支持重复。

    • 名称仅支持以英文字母开头。

    生产环境集群

    选择Flink SQL任务所在集群。

    生产环境引擎版本

    选择生产环境下任务运行的引擎版本。

    说明

    若您的项目空间为Basic模式,该配置项为引擎版本

    开发环境集群及引擎版本

    支持选择系统默认配置自行配置

    系统默认配置:默认选择,使用与生产环境相同的环境集群与引擎版本。

    自行配置:您可自行选择开发环境任务运行的环境集群及引擎版本。

    说明

    若您的项目空间为Basic模式,则无需配置该配置项。

    存储目录

    默认选择为代码管理,同时您也可以在计算任务页面创建目标文件夹后,选择该目标文件夹为Flink SQL任务的目录。image

    使用模板

    开启后可引用已创建的实时模板。

    描述

    填写对Flink SQL任务的简单描述。

步骤二:编写DDL原生语句

  1. 在Flink SQL任务代码页面,编写DDL原生语句。示例代码如下:

    CREATE TEMPORARY TABLE `mysql_jdbc` (
      `id` BIGINT NOT NULL
      ,`name` VARCHAR
      ,PRIMARY KEY (`id`) NOT ENFORCED
    ) WITH (
      'connector' = 'jdbc'
      ,'password' = 'Data*****3'
      ,'username' = 'dataphin'
      ,'url' = 'jdbc:mysql://rm-uf6t0*******150.mysql.rds.aliyuncs.com:3306/dataphin'
      ,'table-name' = 'test_s_01_bigint'
    );
  2. Dataphin识别到DDL原生语句后,按照以下操作步骤进入创建元表对话框。

    image.png

步骤三:创建元表

  1. 创建元表对话框,配置相关参数。

    以创建MySQL数据源类型的元表为例。

    参数

    描述

    元表名称

    填写元表名称。仅支持英文字符、数字、下划线,且首字母不能为数字。

    数据源

    选择创建元表的来源数据源。

    说明

    Dataphin将自动根据您的DDL语句自动识别数据源类型,您可以在数据源下拉选项中,选择对应数据源。

    来源表

    选择数据源后,在来源表下拉选项中选择对应的来源表。

    Connector

    Dataphin将根据代码自动识别所需配置的Connector,不同数据源类型所需配置的Connector不同。具体说明,请参见附录:实时数据源配置信息说明

    字段信息获取

    支持以DDL中定义为准以数据源中来源表为准。

    • 以DDL中定义为准:元表的字段信息为DDL中定义的字段。

    • 以数据源中来源表为准:元表的字段信息为数据源中来源表定义的字段

    选择目录

    默认为表管理。同时您也可以在表管理页面创建目标文件夹后,选择该目标文件夹为元表的目录。

    描述

    填写元表的简单描述。

  2. 单击创建,即可完成元表创建

    若您需要同时创建元表并提交到发布中心,您可以单击创建并发布

后续说明

  • 完成元表创建后,在Dataphin中将生成对应的元表。如下图所示:

    image.png

  • 创建元表的DDL语句将被注释。DML中的表将自动替换为新建的元表名。如下图所示:

    image.png