(1)基本语法
使用 CREATE TABLE 语句在 Doris 中创建一个表,也可以使用 LIKE 或 AS 子句从另一个表派生表定义。
CREATE TABLE [IF NOT EXISTS] [database.]table
(
column_definition_list
[, index_definition_list]
)
[engine_type]
[keys_type]
[table_comment]
[partition_info]
distribution_desc
[rollup_list]
[properties]
[extra_properties]
重要参数解释:
engine_type:表引擎类型,如olap|mysql|broker|hive。
keys_type:支持DUPLICATE KEY(默认)、AGGREGATE KEY和UNIQUE KEY三种数据模型。
partition_info:定义数据分区。
distribution_desc:定义数据分桶。
rollup_list:建表的同时可以创建多个物化视图(ROLLUP)。
properties:设置表属性,Doris 的建表语句中可以指定建表属性,其中分桶数(buckets)、存储介质(storage_medium)、副本数(replication_num)、冷热分离存储策略(storage_policy)属性作用于分区,即分区创建之后,分区就会有自己的属性,修改表属性只对未来创建的分区生效,对已经创建好的分区不生效。
表名:Doris 中表名默认是大小写敏感的,可以在第一次初始化集群时配置lower_case_table_names为大小写不敏感的。默认的表名最大长度为 64 字节,可以通过配置table_name_length_limit更改,不建议配置过大。
(2)示例
1)创建一个明细模型的表,分区,指定排序列,设置副本数为 1。
2)创建一个主键唯一模型的表,设置副本数为 1
3)创建一个聚合模型表,使用固定范围分区描述
(3)注意事项
1)数据模型不可更改,因此建表时需要选择一个合适的数据模型。
2)已经创建的分区不能修改分桶数,可以通过替换分区来修改分桶数,可以修改动态分区未创建的分区分桶数。
3)加减VALUE列是轻量级实现,秒级别可以完成,加减KEY列或者修改数据类型是重量级操作,完成时间取决于数据量,大规模数据下尽量避免加减 KEY 列或者修改数据类型。
4)可以使用层级存储将冷数据保存到 HDD 或者 S3 / HDFS。