85 lines
3.3 KiB
Plaintext
85 lines
3.3 KiB
Plaintext
---
|
|
sidebar_label: OpenTSDB 行协议
|
|
title: OpenTSDB 行协议
|
|
---
|
|
|
|
import Tabs from "@theme/Tabs";
|
|
import TabItem from "@theme/TabItem";
|
|
import JavaTelnet from "./_java_opts_telnet.mdx";
|
|
import PyTelnet from "./_py_opts_telnet.mdx";
|
|
import GoTelnet from "./_go_opts_telnet.mdx";
|
|
import RustTelnet from "./_rust_opts_telnet.mdx";
|
|
import NodeTelnet from "./_js_opts_telnet.mdx";
|
|
import CsTelnet from "./_cs_opts_telnet.mdx";
|
|
import CTelnet from "./_c_opts_telnet.mdx";
|
|
|
|
## 协议介绍
|
|
|
|
OpenTSDB 行协议同样采用一行字符串来表示一行数据。OpenTSDB 采用的是单列模型,因此一行只能包含一个普通数据列。标签列依然可以有多个。分为四部分,具体格式约定如下:
|
|
|
|
```txt
|
|
<metric> <timestamp> <value> <tagk_1>=<tagv_1>[ <tagk_n>=<tagv_n>]
|
|
```
|
|
|
|
- metric 将作为超级表名。
|
|
- timestamp 本行数据对应的时间戳。根据时间戳的长度自动识别时间精度。支持秒和毫秒两种时间精度
|
|
- value 度量值,必须为一个数值。对应的列名也是 “value”。
|
|
- 最后一部分是标签集, 用空格分隔不同标签, 所有标签自动转化为 nchar 数据类型;
|
|
|
|
例如:
|
|
|
|
```txt
|
|
meters.current 1648432611250 11.3 location=California.LosAngeles groupid=3
|
|
```
|
|
|
|
参考[OpenTSDB Telnet API 文档](http://opentsdb.net/docs/build/html/api_telnet/put.html)。
|
|
|
|
## 示例代码
|
|
|
|
<Tabs defaultValue="java" groupId="lang">
|
|
<TabItem label="Java" value="java">
|
|
<JavaTelnet />
|
|
</TabItem>
|
|
<TabItem label="Python" value="Python">
|
|
<PyTelnet />
|
|
</TabItem>
|
|
<TabItem label="Go" value="go">
|
|
<GoTelnet />
|
|
</TabItem>
|
|
<TabItem label="Rust" value="rust">
|
|
<RustTelnet />
|
|
</TabItem>
|
|
<TabItem label="Node.js" value="nodejs">
|
|
<NodeTelnet />
|
|
</TabItem>
|
|
<TabItem label="C#" value="csharp">
|
|
<CsTelnet />
|
|
</TabItem>
|
|
<TabItem label="C" value="c">
|
|
<CTelnet />
|
|
</TabItem>
|
|
</Tabs>
|
|
|
|
以上示例代码会自动创建 2 个超级表, 每个超级表有 4 条数据。
|
|
|
|
```cmd
|
|
taos> use test;
|
|
Database changed.
|
|
|
|
taos> show stables;
|
|
name | created_time | columns | tags | tables |
|
|
============================================================================================
|
|
meters.current | 2022-03-30 17:04:10.877 | 2 | 2 | 2 |
|
|
meters.voltage | 2022-03-30 17:04:10.882 | 2 | 2 | 2 |
|
|
Query OK, 2 row(s) in set (0.002544s)
|
|
|
|
taos> select tbname, * from `meters.current`;
|
|
tbname | ts | value | groupid | location |
|
|
==================================================================================================================================
|
|
t_0e7bcfa21a02331c06764f275... | 2022-03-28 09:56:51.249 | 10.800000000 | 3 | California.LosAngeles |
|
|
t_0e7bcfa21a02331c06764f275... | 2022-03-28 09:56:51.250 | 11.300000000 | 3 | California.LosAngeles |
|
|
t_7e7b26dd860280242c6492a16... | 2022-03-28 09:56:51.249 | 10.300000000 | 2 | California.SanFrancisco |
|
|
t_7e7b26dd860280242c6492a16... | 2022-03-28 09:56:51.250 | 12.600000000 | 2 | California.SanFrancisco |
|
|
Query OK, 4 row(s) in set (0.005399s)
|
|
```
|