InfluxDB是一个开源时序型数据库。它由Go写成,着力于高性能地查询与存储时序型数据。InfluxDB被广泛应用于存储系统的监控数据,IoT行业的实时数据等场景。
可以将物联网传感器数据保存在InfluxDB中,利用InfluxDB高性能地查询与存储时序型数据的优点,达到对传感器实时监控的目的。对于之前未使用InfluxDB的历史数据,转存到InfluxDB中。
下面例子历史数据按照日期存储在不同的pkl文件中,转存代码如下:
# -*- coding:utf-8 -*-
import pandas as pd
import os
from influxdb import InfluxDBClient
def getPoint(x):
result={'tags':{'DevID': x['DevID']}, 'fields':{'DevData': x['DevData'], 'voltage': x['voltage'] },'time': x['RecDateTime']}
result['measurement']='monitor'
return result
baseDir='E:/t'
pkls=os.listdir(baseDir)
client=InfluxDBClient()
client.switch_database('monitor')
for pkl in pkls[1:]:
df=pd.read_pickle(os.path.join(baseDir,pkl))
size=df.shape[0]
index=0
while(index< size):
print(index,index+100)
points=df[index:index+100].apply(getPoint,axis=1).to_list()
client.write_points(points)
print(points)
index=index+100
使用Grafana来可视化InfluxDB中的时间序列数据。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。