1:没配置config文件
influxdb目录下的 influxdb.conf 文件是需要配置的,要不然内存爆满,或者数据写入超限,那就麻烦了。以下几个是我修改的:
# Once every 24 hours InfluxDB will report usage data to usage.influxdata.com
# The data includes a random ID, os, arch, version, the number of series and other
# usage data. No data from user databases is ever transmitted.
# Change this option to true to disable reporting.
reporting-disabled = true #这个可以防治内存爆满
# Where the metadata/raft database is stored
dir = “C:/Users/Administrator/.influxdb/meta” # meta文件地址
# The directory where the TSM storage engine stores TSM files.
dir = “C:/Users/Administrator/.influxdb/data” #数据文件存放地址
# The directory where the TSM storage engine stores WAL files.
wal-dir = “C:/Users/Administrator/.influxdb/wal” # 日志文件存放地址
# The maximum series allowed per database before writes are dropped. This limit can prevent
# high cardinality issues at the database level. This limit can be disabled by setting it to
# 0.
max-series-per-database = 0 # 可写入多个series
2:tags和fields没有分清楚
如果设置太多的tags,那么你要先设计好,哪些必须作为tags,否则当你打开influx服务器,会痛苦万分,一个是加载时间非常久,还有一个是内存会瞬间爆满。
比如股价数据,ticker+market作为tags即可,不需要把其他数据牵扯进来,直接作为fields即可(open,high,low,close)
3:库的使用
安装 pip install influxdb
from influxdb import InfluxDBClient
client = InfluxDBClient('127.0.0.1',8086,'admin','password','dbname')
datas = [
{
'measurement':'price',
'tags':{
'ticker':'000002',
'market':'SZ'
},
'fields':{
'open':10,
'high':11,
'low':9.5,
'close':11
}
},
{
'measurement':'price',
'tags':{
'ticker':'000002',
'market':'SZ'
},
'fields':{
'open':20,
'high':22,
'low':19.5,
'close':21
}
}
]
client.write_points(datas)