THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
实际应用中有许多实体所采集的物理量相同,即具有相同的工况名称和类型,可以声明一个物理量模板来定义可采集的物理量集合。在实践中,物理量模板的使用可帮助减少元数据的资源占用。
...
Code Block | ||||
---|---|---|---|---|
| ||||
// 创建时间序列 // 1. 完整语法(v0.12及之前) create timeseries root.sg1.d1.s1 with datatype=FLOAT, encoding=RLE, compression=SNAPPY, tags(tag1=v1, tag2=v2), attributes(attr1=v1, attr2=v2) create timeseries root.sg1.d1.s2 with datatype=FLOAT, encoding=RLE, compression=SNAPPY, tags(tag1=v1, tag2=v2), attributes(attr1=v1, attr2=v2) // 2. 简化语法(v0.13开始支持,与之前语法兼容) create timeseries root.sg1.d1.s1 FLOAT encoding=RLE compression=SNAPPY tags(tag1=v1, tag2=v2) attributes(attr1=v1, attr2=v2) create timeseries root.sg1.d1.s2 FLOAT encoding=RLE compression=SNAPPY tags(tag1=v1, tag2=v2) attributes(attr1=v1, attr2=v2) // 插入语句 insert into root.sg1.d1(time, s1) values(1,1) insert into root.sg1.d1(time, s1, s2) values(1,1,2) |
...
Code Block | ||||
---|---|---|---|---|
| ||||
// 在实体 root.sg1.d2 下创建一组对齐的时间序列 create aligned timeseries root.sg1.d2.(s1 FLOAT encoding=RLE, s2 INT32 encoding=Grollia compression=SNAPPY) compression=SNAPPY // 注: // 1.可以指定每条时间序列的编码(encoding)和压缩方式(compression),但是暂不支持指定别名(alias),props, attributes, tags 等。 // 2.未指定 compression 的时间序列,则采用系统默认配置;小括号外的 compression 定义时间列压缩方式和未显式声明的列的压缩方式。 // 插入语句,必须使用 aligned 插入语句关键词 insert into root.sg.d2(time, s1, s2) aligned values(1, 1, 2) insert into root.sg.d2(time, s1) aligned values(2, 1) //允许单独写某条时间序列,其他时间序列在该时间点上为空值 // 场景2所创建的对齐时间序列所属物理实体可以扩充时间序列,但需要在该物理实体下嵌套新实体。 // 例如,可以向d2下继续添加时间序列: create timeseries root.sg1.d2.t1.s1 FLOAT create timeseries root.sg1.d2.v1.(s1 FLOAT, s2 FLOAT) |
...
Code Block | ||||
---|---|---|---|---|
| ||||
// 创建语句
create |
...
aligned |
...
timeseries root. |
...
sg1.d3. |
...
v1(s1 FLOAT, s2 INT32) create |
...
aligned |
...
timeseries root. |
...
sg1.d3. |
...
v2( |
...
s1 FLOAT, |
...
s2 INT32) |
...
// |
...
插入语句,不能同时向多组对齐的时间序列中插入值 insert into root. |
...
sg1.d3.v1(time, |
...
s1, s2) |
...
|
...
aligned values(1, |
...
1, 2) insert into root.sg1.d3.v1(time, s1) aligned values(2, 3 |
...
)
insert into root. |
...
sg1.d3.v2(time, |
...
s1, s2) |
...
aligned values(1, |
...
1, 2) |
...
|
...
可以扩充
create timeseries root.sg.d3.s3 FLOAT
...
insert into root.sg1.d3.v2(time, s2) aligned values(3, 4) |
Code Block | ||||
---|---|---|---|---|
| ||||
// 创建语句 create timeseries root.sg1.d4.t1.s1 FLOAT create aligned timeseries root.sg1.d4.v1(s1 FLOAT, s2 INT32) create aligned timeseries root.sg1.d4.v2(s1 FLOAT, s2 INT32) // 插入语句,不能同时向非对齐和对齐的时间序列中插入值 insert into root.sg1.d4.t1(time, s1) values(1, 1) insert into root.sg1.d4.v1(time, s1, s2) aligned values(1, 1, 2) insert into root.sg1.d4.v1(time, s1) aligned values(2, 3) insert into root.sg1.d4.v2(time, s1, s2) aligned values(1, 1, 2) insert into root.sg1.d4.v2(time, s2) aligned values(3, 4) |
...
Code Block | ||||
---|---|---|---|---|
| ||||
void createAlignedTimeseries(
|
...
String prefixPath, // "root.sg.d1.陀螺仪" |
...
List<String> measurements, |
...
List<TSDataType> dataTypes, |
...
List<TSEncoding> encodings, |
...
CompressionType compressor, |
...
List<String> measurementAliasList ); |
...