10
10
``` SQL
11
11
CREATE TABLE [IF NOT EXISTS] [database.]table_name
12
12
(
13
- name1 type1 [ DEFAULT default_expr ],
14
- name2 type2 [ DEFAULT default_expr ] ,
13
+ name1 TIMESTAMP [ DEFAULT default_expr ],
14
+ name2 type [ DEFAULT default_expr ],
15
+ name3 type [ DEFAULT default_expr ] ,
15
16
...
16
- TIMESTAMP KEY (expr),
17
+ TIMESTAMP KEY (name1),
18
+ [ PRIMARY KEY (name1, ...) ],
17
19
...
18
20
)
19
- PARTITION BY HASH(column_name ) PARTITIONS 2
21
+ PARTITION BY HASH(column_list ) PARTITIONS 2
20
22
[ENGINE= TimeSeries]
21
23
[ WITH ( [ key = value] [, ... ] ) ]
22
24
```
23
25
24
26
** 说明**
25
27
26
- * TIMESTAMP KEY: 用户必须指定唯一的 ` TIMESTAMP KEY ` ,TIMESTAMP KEY 字段必须为 ` TIMESTAMP ` 类型。
27
- * ENGINE: 用于指定表引擎,时序引擎为: TimeSeries。
28
- * PARTITION: 在时序引擎中,一般将数据源唯一标识作为 partition key,并通过 PARTITIONS 设置分区数量(合理的设计分区数量有利于提升性能)。
29
- * 创建表时可以通过` WITH ` 参数对表进行配置。
28
+ * TIMESTAMP KEY
29
+ 用户必须指定唯一的 ` TIMESTAMP KEY ` ,TIMESTAMP KEY 字段必须为 ` TIMESTAMP ` 类型。
30
+ * PRIMARY KEY
31
+ 用户可以指定 PRIMARY KEY,PRIMARY KEY 中必须包含 TIMESTAMP KEY,用于确定数据的唯一性。
32
+ * PARTITION
33
+ * ** BY** 根据指定列进行分区。
34
+ * ** HASH** 表示按给定列的顺序依次计算 HASH 值,并按 HASH 结果计算分区。当前仅支持 HASH 算法。
35
+ * ** column_list** 必须是` PRIMARY KEY ` 中除了` TIMESTAMP KEY ` 列以外的列的子集或者全集(如果指定了` PRIMARY KEY ` )。
36
+ * ** PARTITIONS** 表示分区数量,[ 合理的设置分区] ( ../../development-guide/high-performance-writing.md#partition-数量 ) 数量有利于提升性能。
37
+ * ENGINE
38
+ 指定表引擎,未指定时默认为时序引擎 TimeSeries。
39
+ * WITH
40
+ 指定 table options。
41
+
42
+ * 注:创建表之后,不支持修改 TIMESTAMP KEY, PARTITION 以及 PRIMARY KEY。*
43
+
44
+ ### 支持的 Table Options
30
45
31
46
| Name | Description |
32
47
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------- |
@@ -46,7 +61,9 @@ PARTITION BY HASH(column_name) PARTITIONS 2
46
61
| COMPACT_TIME | 非活跃窗口合并的工作时间,缺省值为当前系统设置时区的 ` 02:00~06:00 ` 。支持 UTC 时区设置形式如: UTC,02:00\~ 06:00 支持多时间窗口设置形式如: UTC,02:00\~ 04:00,13:00\~ 15:00,不允许多个时间窗口重叠,允许时间跨凌晨如:23:00\~ 02:00 |
47
62
| COMPACT_MODE | Compaction 支持的模式,缺省值为:` [COMPACT,TTL] ` ,支持选项:COMPACT,TTL,Delta,可以组合使用。当组合多个选项时,需以'[ ] '括起来,中间以英文逗号分隔,例如: ` [COMPACT,TTL,Delta] ` 。如需关闭 Compaction,则指定为 Disable |
48
63
49
- ** 示例**
64
+ ### 示例1
65
+
66
+ 指定 ts 列为 TIMESTAMP KEY,同时按 sn 列进行分区,分区数量为6
50
67
51
68
``` SQL
52
69
CREATE TABLE sensor_info (
@@ -61,6 +78,23 @@ ENGINE=TimeSeries
61
78
WITH (ttl= ' 7d' , memtable_size= ' 512MiB' )
62
79
```
63
80
81
+ ### 示例2
82
+
83
+ 指定 ts 列为 TIMESTAMP KEY,ts、sn、zone 为 PRIMARY KEY,同时按 zone 列进行分区,分区数量为2
84
+
85
+ ``` SQL
86
+ CREATE TABLE sensor_info (
87
+ ts TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
88
+ sn INT64 NOT NULL ,
89
+ zone string,
90
+ speed DOUBLE,
91
+ temperature REAL ,
92
+ TIMESTAMP KEY (ts)
93
+ PRIMARY KEY (ts, sn, zone)
94
+ )
95
+ PARTITION BY HASH(zone) PARTITIONS 2
96
+ ```
97
+
64
98
## 修改表
65
99
66
100
``` SQL
0 commit comments