使用仿真数据数据表
简介
在用户未开通 TSDB 等付费服务,也无合适静态数据资源的情况下,“仿真数据”为用户提供了快速构建二维数据表、模拟数据、搭建仪表盘 Demo 的能力。
本文以创建名为“本地气温记录”的数据表,并将该表绑定至“表格”组件为例,说明了如何使用“仿真数据”功能。
开始创建“仿真数据”数据表
进入“设计器”,切换至“数据”标签,点击左侧“+ 新建”按钮启动创建数据表的流程。输入合适的数据表名称,并选择“仿真数据”类型:
如上图所示,“仿真数据”数据表有着如下几个可配置属性:
-
单次更新行数
用户可生成周期性的、动态的数据,该属性控制每次生成的行数,有效值为 [1, 1000],即一次最少生成 1 行,最多生成 1000 行。
-
更新时间间隔
该属性控制每批次数据的生成频率,有效值为 [0, 1000],单位为秒,0 表示仅生成 1 次,无后续更新,n 表示每 n 秒生成一批数据,显然,n 越大,生成速度越慢。
指的注意的是,过小的时间间隔(过快的频率)可能会导致浏览器卡顿。
-
数据更新方式
该属性控制各批次数据的组合方式:
- “追加”表示后一批数据被“添加”在现有数据之后,如每次生成 10 行数据,第一次更新后数据表有 10 行数据,第二次更新后有 20 行数据,以此类推,数据表最大行数为 1000 行,如超过最大行数,最早的数据被移出数据表(“先进先出”);
- “覆盖”表示后一批数据永远将表中现有数据完全替换,如每次生成 10 行数据,则最终数据表无论更新多少次也只会有 10 行数据。
-
数据表格式
该属性控制最终数据表中每一列的格式,包含每一列的名称、类型和生成规则。
点击每一条规则前的“删除”符号可删除该列配置(减少一列),点击表格下方“+ 新建列”可增加一列配置。用户可添加的列数范围为 [1, 20],即最少保留 1 列,最多创建 20 列。每一列可选的类型有:boolean、date、number、string。同样,过多的列数可能会导致浏览器卡顿。
不同的类型和不同的生成规则对应着不同的配置参数,点击生成规则的“编辑”按钮可在弹窗中编辑这些参数。
全部生成规则及其对应的配置参数如下:
4.1 boolean 类型列
列的类型 | 生成值 | 可选生成规则 |
---|---|---|
boolean 布尔型 | true/false | 随机/指定 |
生成规则 | 释义 |
---|---|
随机 | 在 true 和 false 两个值中随机生成一个(无需额外的配置参数,所以本规则没有“编辑”按钮) |
指定 | 用户输入以英文逗号分割的 true false 字符串,用于指定数据值,如输入 true,false,false ,最终数据表即按照 true false false 生成 3 行数据,若每次生成的行数(如 10 行)比指定的数量(本例为 3 行)多,则循环生成(下同,不赘述) |
4.2 date 类型列
列的类型 | 生成值 | 可选生成规则 |
---|---|---|
date 时间型 | 时间戳 | 随机/指定/自增减 |
生成规则 | 释义 |
---|---|
随机 | 用户输入起止时间,在该时间段内随机生成时间值 |
指定 | 用户输入以英文逗号分割的(符合规范的)时间字符串,用于指定时间值,如输入 2019-01-02 10:05:00, 2019-02-03 10:30:50 ,最终数据表即按照 2019-01-02 10:05:00, 2019-02-03 10:30:50 生成 2 行数据 |
自增减 | 用户输入起始时间、步长、增/减方向,如输入起始时间“2019-10-01 10:20:30”、步长“1分钟”和方向“增加”,最终数据表即从这个时间点开始自增生成时间值 |
4.3 number 类型列
列的类型 | 生成值 | 可选生成规则 |
---|---|---|
number 数字型 | 实数 | 随机/指定/自增减 |
生成规则 | 释义 |
---|---|
随机 | 用户输入最小值、最大值、精度 n,在该区间范围内生成小数点后最多 n 位的实数 |
指定 | 用户输入以英文逗号分割的数字字符串,用于指定数值,如输入 1,3,5,7,9 ,最终数据表即按照 1 3 5 7 9 生成 5 行数据 |
自增减 | 用户输入起始值、步长、增/减方向,如输入起始值 2 、步长 2和方向“增加”,最终数据表生成值为 2 4 6 8 10 12…… |
4.4 string 类型列
列的类型 | 生成值 | 可选生成规则 |
---|---|---|
string 字符串型 | 字符串(文本) | 随机/指定 |
生成规则 | 释义 |
---|---|
随机 | 用户选择一个字符串类别,可选值为 “姓名”、“email”和“城市”,在选定的类别内随机生成相应的字符串 |
指定 | 用户输入以英文逗号分割的字符串,如输入 北京,上海,广州 ,最终数据表即按照 北京 上海 广州 的顺序生成 3 行数据 |
我们继续“本地气温记录”的例子。
我们期望最终生成的数据表包含两列:
- 一列名为“时间”的“date”类型列,从“2019-10-01 10:00:00”开始按“1 分钟”自增,用于模拟记录气温的时刻;
- 一列名为“温度”的“number”类型列,在 [18, 30] 区间内随机生成包含一位小数的数字,用于模拟气温。
通过编辑“数据表格式”,可得到如下的配置规则:
两列生成规则的详细配置如下:
小结,目前的配置表达了如下含义:
- (名称&类型)生成一个名为“本地气温记录”的“仿真数据”数据表;
- (更新时间间隔)该表每 2 秒钟更新一次;
- (单次更新行数)每次更新 1 行数;
- (数据更新方式)每 2 秒钟新生成的数据追加到现有数据之后;
- (数据表格式)一个“date”类型列,名称为“时间”,从“2019-10-01 10:00:00”开始按“1 分钟”自增;一个“number”类型列,名称为“温度”,随机在 [18, 30] 内生成数字。
预览仿真数据表
点击页面最下方“下一步”按钮,进入数据预览页面。该页面展示了在上述配置下,最终数据表的格式与数据。
我们看到表格中的数据的确符合上述配置。
此刻,我们还未真正创建及保存数据表,若对生成的数据不满意(如将第二列随机区间从 [18, 30] 改为 [20, 25] 等),可点击“上一步”按钮返回配置页面修改。
完成创建
若生成的数据符合需求,则可点击”确定“按钮,完成数据表的创建及保存。与创建 TSDB 等其他数据源类似的,创建成功后页面跳转到:
绑定数据
此后,我们可以进一步编辑“流水线”,如“新增一列”、“列排序”等,也可返回“画布”区域,对可视化元件进行数据绑定等。例如,我们可以在画布上新建一个“表格组件”:
点击绑定图标,在弹窗中选择刚创建的数据表“本地气温记录”:
点击“确定”关闭弹窗返回画布,由于“表格”组件默认是 4 列数据,而“本地气温记录”生成 2 列数据,我们再修改“表格”的属性“样式”->“列数”:
至此,画布上的“表格”组件已经正确显示仿真数据了。