将csv文件转换为循环数据库



我正在运行最新JessieRaspberry Pi 2上记录来自DHT22传感器的TempHumidity

在启动项目时,我不知道RRDtool的可能性,所以我选择将所有内容记录在一个名为DataLogger.csv.csv文件中。日志记录脚本是用cron每分钟执行一次的python 3编写的。格式如下:

2016-04-02 21:23    16.5    45.9
2016-04-02 21:24    16.5    45.9
2016-04-02 21:25    16.5    46.0

所以是%Y-%M-%D %H:%M t Temperature t Humidity

我正在考虑在Round Robin中额外记录所有内容,所以我的问题是:

  1. 我可以将.csv行加载到RRDtool中吗
  2. 我可以使用RRDtool中的update每分钟检查.csv文件并更新数据库吗

还是我必须将数据直接记录到数据库中?

RRDtool本身不与csv文件交互。但您可以编写一个小脚本来读取现有的csv文件,并将它们输入RRDtool。请注意,对update函数的一次调用可以采用timestamp:temp:hum格式的多个数据点。

将现有数据添加到rrd数据库后,只要在写入csv文件时添加对update函数的调用即可。

正如Tobi所说,您需要编写自己的脚本来解析CSV失败并将数据加载到新的RRD文件中,因为RRDtool本身没有这样做的功能。

您需要提前为您的RRD制定正确的设计;看看你的数据,它似乎是每秒一次,所以你需要1秒的间隔,可能你的第一次RRA需要1cdp=1pdp。

您还应该记住,数据只能随着时间的增加而添加;因此,您永远不能为早于上次更新时间的时间点添加数据点。因此,您需要先添加CSV数据的旧设定点,依此类推。

最新更新