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

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

高洛峰
Freigeben: 2017-03-14 15:28:01
Original
11398 Leute haben es durchsucht

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
Nach dem Login kopieren

Das Beispiel sieht wie folgt aus:

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

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

Pip installieren:

yum install python-pip
Nach dem Login kopieren

influxdb-python installieren:

pip install influxdb
Nach dem Login kopieren

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', '', '') # 初始化
Nach dem Login kopieren

  • 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() # 显示所有数据库名称
Nach dem Login kopieren

Tabellenoperation

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

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

  • 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))
Nach dem Login kopieren

  • 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) # 写入数据,同时创建表
Nach dem Login kopieren

  • Tabelle löschen

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

client.query("drop measurement students") # 删除表
Nach dem Login kopieren

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)
Nach dem Login kopieren

Datenoperation

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

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

  • 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) # 写入数据
Nach dem Login kopieren

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

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

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;') # 删除数据
Nach dem Login kopieren

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)  # 查询数据
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage