数据导入

TDengine提供多种方便的数据导入功能,一种按脚本文件导入,一种按数据文件导入,一种是taosdump工具导入本身导出的文件。

按脚本文件导入

TDengine的shell支持source filename命令,用于批量运行文件中的SQL语句。用户可将建库、建表、写数据等SQL命令写在同一个文件中,每条命令单独一行,在shell中运行source命令,即可按顺序批量运行文件中的SQL语句。以‘#’开头的SQL语句被认为是注释,shell将自动忽略。

按数据文件导入

TDengine也支持在shell对已存在的表从CSV文件中进行数据导入。CSV文件只属于一张表且CSV文件中的数据格式需与要导入表的结构相同, 在导入的时候,其语法如下

  1. insert into tb1 file 'path/data.csv';

注意:如果CSV文件首行存在描述信息,请手动删除后再导入

例如,现在存在一个子表d1001, 其表结构如下:

  1. taos> DESCRIBE d1001
  2. Field | Type | Length | Note |
  3. =================================================================================
  4. ts | TIMESTAMP | 8 | |
  5. current | FLOAT | 4 | |
  6. voltage | INT | 4 | |
  7. phase | FLOAT | 4 | |
  8. location | BINARY | 64 | TAG |
  9. groupid | INT | 4 | TAG |

要导入的data.csv的格式如下:

  1. '2018-10-04 06:38:05.000',10.30000,219,0.31000
  2. '2018-10-05 06:38:15.000',12.60000,218,0.33000
  3. '2018-10-06 06:38:16.800',13.30000,221,0.32000
  4. '2018-10-07 06:38:05.000',13.30000,219,0.33000
  5. '2018-10-08 06:38:05.000',14.30000,219,0.34000
  6. '2018-10-09 06:38:05.000',15.30000,219,0.35000
  7. '2018-10-10 06:38:05.000',16.30000,219,0.31000
  8. '2018-10-11 06:38:05.000',17.30000,219,0.32000
  9. '2018-10-12 06:38:05.000',18.30000,219,0.31000

那么可以用如下命令导入数据

  1. taos> insert into d1001 file '~/data.csv';
  2. Query OK, 9 row(s) affected (0.004763s)

taosdump工具导入

TDengine提供了方便的数据库导入导出工具taosdump。用户可以将taosdump从一个系统导出的数据,导入到其他系统中。具体使用方法,请参见博客:TDengine DUMP工具使用指南