Documents
Documents
Documents
Type
Document
Status
Published
Created
Aug 21, 2025
Updated
Aug 21, 2025
Updated by
Dosu Bot

ts-cli 是 openGemini 的官方交互式命令行工具,支持将多种格式的数据文件导入到 openGemini 数据库中。

支持的导入格式#

  • line_protocol(默认):InfluxDB 兼容的行协议文本文件
  • csv:逗号分隔值文件,仅支持通过列写协议导入
  • jsoni:InfluxDB JSON 格式
  • jsonp:Prometheus JSON 格式

基本用法#

ts-cli import --format <格式> --host <主机> --port <端口> --path <文件路径> --database <数据库> -m <measurement> -r <保留策略>

示例(导入 CSV 文件):

ts-cli import --format csv --host localhost --port 8086 --path file.csv --precision=s --database db0 -m m0 -r autogen

参考

常用参数说明#

  • --host, -H:openGemini 服务主机(默认 localhost)
  • --port, -p:openGemini 服务端口(默认 8086)
  • --username, -u--password, -P:连接 openGemini 的用户名和密码(需同时指定)
  • --ssl, -s:启用 HTTPS 连接
  • --cacert, -c:CA 证书路径
  • --cert, -C--cert-key, -k:客户端证书及密钥
  • --insecure-tls, -i:忽略 SSL 验证
  • --insecure-hostname, -I:忽略主机名校验
  • --column-write, -w:使用高性能列写协议(CSV 格式必须开启)
  • --column-write-port, -W:列写协议端口
  • --batch-size, -b:批量写入的条数
  • --path, -T:导入文件路径
  • --format, -f:导入文件格式(见上文)
  • --tags:指定 tags 字段名(CSV/JSON 格式需指定)
  • --fields:指定 fields 字段名(CSV/JSON 格式需指定)
  • --measurement, -m:指定 measurement 名称
  • --database, -d:指定数据库名称
  • --time, -t:指定时间戳字段名(默认 time)
  • --retention-policy, -r:指定保留策略(默认 autogen)
  • --precision, -U:时间戳精度,支持 ns、us、ms、s,默认 ns

完整参数列表可通过 ts-cli import --help 查看。

导入流程说明#

  • 行协议(line_protocol):按行读取文本,批量写入数据库,支持 HTTP 或列写协议。
  • CSV:仅支持列写协议,需指定数据库、保留策略、measurement、tags、fields、time 字段。
  • JSON(Prometheus/InfluxDB):通过 JSON 解码,转换为行协议格式后写入,仅支持行写协议。
  • 所有格式均支持批量导入,支持时间戳精度转换(如 RFC3339 字符串自动转换为 Unix 纳秒)。

安装#

推荐使用如下命令安装最新版 ts-cli:

go install github.com/openGemini/openGemini-cli/cmd/ts-cli@latest

参考

注意事项#

  • CSV 文件导入必须使用 --column-write 并正确配置 tags、fields、time 字段。
  • JSON 格式导入仅支持行写协议,需指定 measurement、database、fields、tags 等参数。
  • 用户名和密码需同时指定,证书和密钥也需成对指定。
  • 支持的时间戳精度有 ns、us、ms、s,默认 ns。
  • 导入过程中会自动创建数据库(如不存在)。

更多详细用法和参数说明,请参考 ts-cli import --help 或官方文档。

Documents | Dosu