1. 概述

数据表管理支持通过 SQL 创建物理表和视图表,下面介绍详细的语法。

2. 创建数据表

2.1.  格式要求

2.1.1. 数据表名称

数据表名称需要满足以下条件:

  • 仅支持小写字母、数字、下划线且以字母为首。
  • 长度最多 100 个字符。
  • 在当前数据库内,数据表名称不可重复。

2.1.2. 字段名称

数据表中每个字段的名称需要满足以下条件:

  • 仅支持小写字母、数字、下划线且以字母为首。
  • 长度最多 100 个字符。
  • 在当前数据表内,字段名称不可重复。

2.1.3. 字段数据类型

创建数据表时,支持使用以下几种数据类型:

  • <整型 Int>
  • <长整型 Bigint>
  • <双精度 Double>
  • <字符串 String>
  • <布尔 Bool>
  • <时间戳 Timestamp>
  • <集合 List>

2.2. 创建物理表

可以通过如下语句创建物理表:

CREATE TABLE MyTable ( `user_id` BIGINT, `name` STRING ) WITH ( ... )
CODE

物理表主要分为两类:

  • 主键表
  • 非主键表

可以通过 WITH 子句 进行指定:

  • 主键表的 table_engine 为 SDW_MUTABLE
  • 非主键表的 table_engine 为 SDW_IMMUTABLE

下面会详细介绍。

2.2.1. 主键表

创建主键表时需要包括以下信息:

  • 主键字段
    • 主键表必须指定主键字段。
    • 主键字段必须是已定义的数据表字段,格式 :PRIMARY KEY(`xxx`) NOT ENFORCED, 可以填多个字段,多个字段逗号分隔,如 PRIMARY KEY(`aaa`, `bbb`) NOT ENFORCED。
    • 主键字段数量建议不超过 3 个字段,仅支持选择 String、 Bigint、 Int 类型作为主键字段。
  • WITH 子句 必填,用于指定表类型,如:'table_engine'='SDW_MUTABLE'  表示这个表是主键表。

示例

CREATE TABLE sensors_mutable_table (
  `customer_id` STRING, 
  `col1` LIST,
  `col2` BIGINT,
  PRIMARY KEY(`customer_id`) NOT ENFORCED 
) 
WITH (
  'table_engine'='SDW_MUTABLE'
)
CODE

2.2.2. 非主键表

创建非主键表需要包括以下信息:

  • 分区字段
    • 非主键表可以根据自身需求,额外配置分区字段。
    • 分区字段必须是已定义的字段,格式 PARTITIONED BY(`xxx`), 可以指定多个字段,多个字段逗号分隔,请注意确保字段顺序正确, 如 PARTITIONED BY(`year`, `month`)
    • 分区字段数量建议不超过 5 个字段,仅支持 String 类型作为分区字段。
  • WITH 子句:必填,用于指定表类型和文件格式:
    • 'table_engine'='SDW_IMMUTABLE'  表示这个表是非主键表。
    • 'file_format'='PARQUET' 文件格式,目前只支持 PARQUET。

示例

CREATE TABLE sensors_immutable_table (
  `date` BIGINT, 
  `col1` STRING, 
  `col2` DOUBLE
)
PARTITIONED BY(`date`) WITH (
  'table_engine'='SDW_IMMUTABLE',
  'file_format'='PARQUET'
)
CODE

2.3. 创建视图表

可以通过如下语句创建视图表:

CREATE VIEW sensorsdb.myview AS SELECT * FROM sensorsdb.table1 
CODE

示例

CREATE VIEW sensors_event_view AS SELECT * FROM sensors_test.mutable_table
CODE

可以在 创建数据表 页面 SQL 逻辑配置 区域的输入框左侧的目录中查找创建视图表所需的数据表和表字段。

如果引用了没有表数据权限的数据表,则会在校验 SQL 和提交时报错。

2.4.  SQL 语句校验

创建数据表 页面 SQL 逻辑配置 区域,我们提供了 格式化 校验 SQL 功能。

  • 格式化:当您完成建表语句后,可点击右上角的 格式化 按钮,自动整理 SQL 语句格式,以便更好的阅读和检查 SQL 语法。
  • 校验 SQL :当您完成建表语句后,请点击右上角的 校验 SQL 按钮,校验您的建表语句是否符合语法要求。如果未通过校验,会在下方展示错误日志。请修正后再次尝试校验或提交。