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