InfluxDB数据批量导入(bat方式)

InfluxDB是一款用Go语言编写的开源分布式时序、事件和指标数据库,无需外部依赖。该数据库现在主要用于存储涉及大量的时间戳数据,如DevOps监控数据,APP metrics, loT传感器数据和实时分析数据。

InfluxDB在Windows下的安装与使用可参见:https://blog.csdn.net/m0_37317159/article/details/80456035

InfluxDB的数据写入主要采用Http的API接口

 curl -i -XPOST "http://localhost:8086/write?db=mydb" --data-binary @bridges.txt

要注意的是:

1.官网上介绍用的是'单引号,但是会报错,在windows平台下,curl的参数应该使用"双引号。

2.bridges.txt文件的格式,每一行的结尾应采用unix的换行符,否则可能报不正确的timestamp的错误。

3.bridges.txt不能太大,具体多少没有看到相关文档,我的104M的文件,报错文件太大。

4.bridges.txt文件的格式如下,windFarm是measurment,turbId是tag key,giWecRunContion等是field key,最后的1533022504000000000是timestamp,单位是ns纳秒(10^-9 s)。

for /f "delims=@" %%i in (data.txt) do curl -i -XPOST "http://localhost:8086/write?db=db20053" --data-binary "%%i"

data.txt中的内容是一行一行的数据原文件中有127个数据点(此处只为示例)。

windFarm,turbId="10234110" giWecRunContion="3",giFaultInformation="0",grRotorSpeedPDM="10.994" 1533022504000000000

经测试,我的data.txt一行有127个数据点,一共39487行,平均导入速度是18行/秒,data.txt有104M,导入花了36分钟。

CSV格式的data.txt为18.9M,插入influxDB后,数据库容量增加6M,influx的压缩比大约是30%。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部