天天看點

Python寫入InfluxDB

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