发布网友 发布时间:2022-04-09 16:59
共2个回答
懂视网 时间:2022-04-09 21:20
~]#github地址: https://github.com/influxdata/influxdb-python
安装pip :
yum install python-pip
安装influxdb-python :
pip install influxdb
使用InfluxDBClient类操作数据库,示例如下:
from influxdb import InfluxDBClient client = InfluxDBClient(‘localhost‘, 8086, ‘root‘, ‘‘, ‘‘) # 初始化
使用get_list_database函数,示例如下:
print client.get_list_database() # 显示所有数据库名称
使用create_database函数,示例如下:
client.create_database(‘testdb‘) # 创建数据库
使用drop_database函数,示例如下:
client.drop_database(‘testdb‘) # 删除数据库
数据库操作完整示例如下:
#! /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() # 显示所有数据库名称
InfluxDBClient中要指定连接的数据库,示例如下:
client = InfluxDBClient(‘localhost‘, 8086, ‘root‘, ‘‘, ‘testdb‘) # 初始化(指定要操作的数据库)
可以通过influxql语句实现,示例如下:
result = client.query(‘show measurements;‘) # 显示数据库中的表 print("Result: {0}".format(result))
InfluxDB没有提供单独的建表语句,可以通过并添加数据的方式建表,示例如下:
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) # 写入数据,同时创建表
可以通过influxql语句实现,示例如下:
client.query("drop measurement students") # 删除表
数据表操作完整示例如下:
#! /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)
InfluxDBClient中要指定连接的数据库,示例如下:
client = InfluxDBClient(‘localhost‘, 8086, ‘root‘, ‘‘, ‘testdb‘) # 初始化(指定要操作的数据库)
可以通过write_points实现,示例如下:
json_body = [ { "measurement": "students", "tags": { "stuid": "s123" }, #"time": "2017-03-12T22:00:00Z", "fields": { "score": 89 } } ] client.write_points(json_body) # 写入数据
可以通过influxql语句实现,示例如下:
result = client.query(‘select * from students;‘) print("Result: {0}".format(result))
tags 和 timestamp相同时数据会执行覆盖操作,相当于InfluxDB的更新操作。
使用influxql语句实现,delete语法,示例如下:
client.query(‘delete from students;‘) # 删除数据
数据操作完整示例如下:
#! /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) # 查询数据
好,就这些了,希望对你有帮助。
本文github地址:
https://github.com/mike-zhang/mikeBlogEssays/blob/master/2017/20170312_使用python操作InfluxDB.md
欢迎补充
使用python操作InfluxDB
标签:roc 方式 pytho 创建 localhost bin zha tin install
热心网友 时间:2022-04-09 18:28
最近在做关于分布式爬虫和数据抽取计算的两个方面的日志分析,统计的结果也比较简单,把收集到的日志存入到hadoop,然后用python streaming实现maprece,把结果存入到mongodb里面。只是python这家伙实在慢的可以,直接改用 pig 来实现日志的解析,速度明显要好点。 说正题,现在数据的展现用的是 highcharts来前端的现实,实时的数据是放在Influxdb里面,Influxdb是个含有时间序的数据库。 然而我们还是有个需求是,可以做一定程度的日报和周报。 把最大的几个网上抓取数目给抽取出来。 原本我想的有些复杂,打算制作一个干净的图表页面,然后底层调用phantomjs进行截图,然后发邮件。