本文为您介绍如何创建实时计算时序时空数据库(TSDB)结果表。

什么是时序时空数据库(TSDB)

时序时空数据库(Time Series Database)简称TSDB。是一种高性能,低成本,稳定可靠的在线时序数据库服务。TSDB提供高效读写,高压缩比存储、时序数据插值及聚合计算,广泛应用于物联网(IoT)设备监控系统 ,企业能源管理系统(EMS),生产安全监控系统,电力检测系统等行业场景。

DDL定义

实时计算支持使用TSDB作为结果输出,示例代码如下。
说明 实时计算引用时序时空数据库(TSDB)结果表需要如何配置数据存储白名单
CREATE TABLE stream_test_hitsdb (
    metric VARCHAR,   
    timestamp INTEGER,
    value DOUBLE,
    tagk1 VARCHAR,     
    tagk2 VARCHAR,
    tagk3 VARCHAR
) WITH (
    type='hitsdb',
    host='<yourHostName>',
    virtualDomainSwitch = 'false',
    httpConnectionPool = '20',
    batchPutSize = '1000'
);

建表默认格式:

  • 第0列:metric(VARCHAR)
  • 第1列:timestamp(INTEGER),单位为秒 。
  • 第2列:value(DOUBLE)
  • 第3~N列:TagKey,即时序时空数据库中的fieldName。
说明
  • metrictimestampvalue必须声明,且字段名称、字段顺序和字段数据类型必须和TSDB保持完全一致。
  • tag可以为多列。
参数设置详情请参见TSDB建表规范

WITH参数

参数 注释说明 备注
host IP或VIP域名 填写注册实例的Host,详情请参看:连接实例
port 端口 默认为8242。
virtualDomainSwitch 是否使用VIPServer 默认为false,若需要使用VIPServer,则设置为true。
httpConnectionPool HTTP连接池 默认为10。
httpCompress 使用GZIP压缩 默认为false,即不压缩。
httpConnectTimeout HTTP连接超时时间 默认为0。
ioThreadCount IO线程数 默认为1。
batchPutBufferSize 缓冲区大小 默认为10000。
batchPutRetryCount 写入重试次数 默认为3。
batchPutSize 每次提交数据量 默认每次提交500个数据点。
batchPutTimeLimit 缓冲区等待时间 默认为200,单位为毫秒。
batchPutConsumerThreadCount 序列化线程数 默认为1。

常见问题

Q:Failover中报错,LONG类型不能转换成INT类型。

A:实时计算2.2.5以下版本只能支持到INT类型。实时计算2.2.5及以上版本支持BIGINT类型。