Heim  >  Artikel  >  Backend-Entwicklung  >  Ausführliche Erklärung zur Bedienung von InfluxDB mit Python

Ausführliche Erklärung zur Bedienung von InfluxDB mit Python

高洛峰
高洛峰Original
2017-03-14 15:28:0111316Durchsuche

Umgebung: CentOS6.5_x64
InfluxDB-Version: 1.1.0
PythonVersion: 2.6

Vorbereitung

  • Starten Sie den Server

Führen Sie den folgenden Befehl aus:

  service influxdb start

Das Beispiel sieht wie folgt aus:

[root@localhost ~]# service influxdb start
Starting influxdb...
influxdb process was started [ OK ]
[root@localhost ~]#

gitHub-Adresse: https: //github.com/influxdata/influxdb-python

Pip installieren:

yum install python-pip

influxdb-python installieren:

pip install influxdb

Grundlegende Operationen

Verwenden Sie die InfluxDBClient-Klasse, um die Datenbank zu betreiben. Das Beispiel lautet wie folgt:

from influxdb import InfluxDBClient
client = InfluxDBClient('localhost', 8086, 'root', '', '') # 初始化

  • Alle vorhandenen Datenbanken anzeigen

Verwenden Sie die Funktion get_list_database, das Beispiel lautet wie folgt:

 print client.get_list_database() # Alle Datenbanknamen anzeigen

  • Neue Datenbank erstellen

Verwenden Sie die Funktion create_database. Das Beispiel lautet wie folgt:

client.create_database('testdb') # Datenbank erstellen

Benutzen Für die Funktion drop_database lautet das Beispiel wie folgt:

client.drop_database( 'testdb') # Datenbank löschen

Datenbankoperation Das vollständige Beispiel lautet wie folgt:

#! /usr/bin/env python
#-*- coding:utf-8 -*-

from influxdb import InfluxDBClient
client = InfluxDBClient('localhost', 8086, 'root', '', '') # 初始化
print client.get_list_database() # 显示所有数据库名称
client.create_database('testdb') # 创建数据库
print client.get_list_database() # 显示所有数据库名称
client.drop_database('testdb') # 删除数据库
print client.get_list_database() # 显示所有数据库名称

Tabellenoperation

Die zu verbindende Datenbank wird in InfluxDBClient angegeben. Ein Beispiel lautet wie folgt:

client = InfluxDBClient('localhost', 8086, 'root', '', 'testdb') # 初始化(指定要操作的数据库)

  • Vorhandene Tabellen in der angegebenen Datenbank anzeigen

Dies kann durch die influxql-Anweisung erreicht werden. Das Beispiel lautet wie folgt:

result = client.query('show measurements;') # 显示数据库中的表print("Result: {0}".format(result))

  • Erstellen Sie eine neue Tabelle und fügen Sie Daten hinzu

InfluxDB bietet keine separate Anweisung zur Tabellenerstellung Erstellen Sie eine Tabelle durch Hinzufügen von Daten. Das Beispiel lautet wie folgt:

json_body = [
    {
        "measurement": "students",
        "tags": {
            "stuid": "s123"
        },
        #"time": "2017-03-12T22:00:00Z",
        "fields": {
            "score": 89
        }
    }
]

client = InfluxDBClient('localhost', 8086, 'root', '', 'testdb') # 初始化(指定要操作的数据库)
client.write_points(json_body) # 写入数据,同时创建表

  • Tabelle löschen

kann durch die Influxql-Anweisung erreicht werden. Das Beispiel lautet wie folgt:

client.query("drop measurement students") # 删除表

Das vollständige Beispiel für die Datentabellenoperation lautet wie folgt:

#! /usr/bin/env python
#-*- coding:utf-8 -*-

from influxdb import InfluxDBClient

json_body = [
    {
        "measurement": "students",
        "tags": {
            "stuid": "s123"
        },
        #"time": "2017-03-12T22:00:00Z",
        "fields": {
            "score": 89
        }
    }
]

def showDBNames(client):
        result = client.query('show measurements;') # 显示数据库中的表
        print("Result: {0}".format(result))

client = InfluxDBClient('localhost', 8086, 'root', '', 'testdb') # 初始化(指定要操作的数据库)
showDBNames(client)
client.write_points(json_body) # 写入数据,同时创建表
showDBNames(client)
client.query("drop measurement students") # 删除表
showDBNames(client)

Datenoperation

Die zu verbindende Datenbank wird in InfluxDBClient angegeben. Das Beispiel lautet wie folgt:

client = InfluxDBClient('localhost', 8086, 'root', '', 'testdb') # 初始化(指定要操作的数据库)

  • Das Hinzufügen von

kann durch write_points erreicht werden, das Beispiel ist wie folgt folgt:

json_body = [
    {
        "measurement": "students",
        "tags": {
            "stuid": "s123"
        },
        #"time": "2017-03-12T22:00:00Z",
        "fields": {
            "score": 89
        }
    }
]

client.write_points(json_body) # 写入数据

kann sein implementiert durch influxql-Anweisung, Beispiele sind wie folgt:

result = client.query('select * from students;')    
print("Result: {0}".format(result))

Tags Wenn es mit dem Zeitstempel übereinstimmt, führen die Daten einen Überschreibvorgang durch, der dem Aktualisierungsvorgang von InfluxDB entspricht.

  • Delete

wird mithilfe der Influxql-Anweisung implementiert, die Syntax delete lautet wie folgt:

client.query('delete from students;') # 删除数据

Ein vollständiges Beispiel für den Datenbetrieb lautet wie folgt:

#! /usr/bin/env python
#-*- coding:utf-8 -*-

from influxdb import InfluxDBClient

json_body = [
    {
        "measurement": "students",
        "tags": {
            "stuid": "s123"
        },
        #"time": "2017-03-12T22:00:00Z",
        "fields": {
            "score": 89
        }
    }
]

def showDatas(client):
        result = client.query('select * from students;')
        print("Result: {0}".format(result))

client = InfluxDBClient('localhost', 8086, 'root', '', 'testdb') # 初始化
client.write_points(json_body) # 写入数据
showDatas(client)  # 查询数据
client.query('delete from students;') # 删除数据
showDatas(client)  # 查询数据

Okay, das ist es, ich hoffe es hilfreich für Sie.


Das obige ist der detaillierte Inhalt vonAusführliche Erklärung zur Bedienung von InfluxDB mit Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn