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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章