InfluxDB是一個開源的時序資料庫,使用GO語言開發,特别适合用于處理和分析資源監控資料這種時序相關資料。而InfluxDB自帶的各種特殊函數如求标準差,随機取樣資料,統計資料變化比等,使資料統計和實時分析變得十分友善。
安裝
-
資料庫安裝
根據不同的系統安裝方式不太一樣, 具體參考
官網 , 這個官網提供的挺詳細的。
- 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