Python写入InfluxDB

  1. 云栖社区>
  2. 博客>
  3. 正文

Python写入InfluxDB

时光不写博客 2019-07-18 21:17:27 浏览157
展开阅读全文

InfluxDB是一个开源的时序数据库,使用GO语言开发,特别适合用于处理和分析资源监控数据这种时序相关数据。而InfluxDB自带的各种特殊函数如求标准差,随机取样数据,统计数据变化比等,使数据统计和实时分析变得十分方便。

安装

  • 数据库安装
    根据不同的系统安装方式不太一样, 具体参考官网, 这个官网提供的挺详细的。

如果有指定版本的requests, 注意一下requests版本, influxdb不支持旧版的requests库, 版本不支持安装时会有提示。

  • Python安装操作库

    python3 -m pip install influxdb
    
    pip install --upgrade influxdb             # 升级
    pip uninstall influxdb       # 卸载

使用准备

  • 操作准备
    需要先创建数据库,可以使用命令行进行创建

    create database database_name;

也可以使用python命令直接创建

from influxdb import InfluxDBClient
# 首先连接influxdb
client = InfluxDBClient(host='服务器IP', port=8086, username='myuser', password='mypass' ssl=True, verify_ssl=True)
# 创建数据库
client.create_database('database_name')   
# 查询数据库
client.get_list_database()

操作

  • 连接数据库

    from influxdb import InfluxDBClient
    client = InfluxDBClient('服务器IP', '8086', 'myuser', 'mypass', 'database_name')
  • 写入数据
    InfluxDB的每条数据可以看成一个json数据(其实写入的时候就是个json数据),每条数据中包含了'measurement','time','tags','fields'
属性 含义
measurement 相当于数据库中的表
time 数据的记录时间,是数据的主索引
tags 一个有索引的值
fields 没有索引的值
w_json = [{
    "measurement": 'table_name',
    "time": now_time,
    "tags": {
        'name': '名字',
        'categories': '类型'
        },
    "fields": {
        'price': "价格",
        'unit': "单位",
        }
    }]
写入数据库
client.write_points(w_json)

参考链接:时光不写博客-Python写入InfluxDB

网友评论

登录后评论
0/500
评论
时光不写博客
+ 关注