当前位置: 首页 > news >正文

Docker安装influxdb以及python基本操作

简介

InfluxDB 是一个专为处理时间序列数据(Time-Series Data)设计的开源数据库,由 Go 语言编写,专注于高效存储、查询和分析随时间变化的数据流,如监控指标、传感器数据、应用程序性能日志等。

下载镜像

docker pull influxdb:latest

csdn下载

docker的influxdb镜像资源-CSDN下载

运行InfluxDB容器

docker run -d -p 8086:8086 --name influxdb -v influxdb-storage:/var/lib/influxdb influxdb:latest

页面访问

http://localhost:8086/

设置账号密码

admin admin123

保存token

EeeeBOImBXbKFTgd-vD5Fh-5Hgk1_4sPKPIKUGJhbXHQEusfrTWVEVMdlswgLnAVaNbPnH9028Po0E_dD1Xs5w==

Python基本操作

安装依赖

pip install influxdb-client

操作代码

from influxdb_client import InfluxDBClient, Point, WritePrecisionfrom influxdb_client.client.write_api import SYNCHRONOUSimport datetime# 配置 InfluxDB 连接参数url = "http://localhost:8086"token = "EeeeBOImBXbKFTgd-vD5Fh-5Hgk1_4sPKPIKUGJhbXHQEusfrTWVEVMdlswgLnAVaNbPnH9028Po0E_dD1Xs5w=="  # 替换为你的 API Tokenorg = "test"  # 替换为你的组织名bucket = "bucketName"  # 替换为你的桶名# 创建 InfluxDB 客户端client = InfluxDBClient(url=url, token=token, org=org)def write_data():"""写入数据到 InfluxDB"""write_api = client.write_api(write_options=SYNCHRONOUS)# 创建数据点(使用 Point 对象)point = Point("temperature") \.tag("location", "room-102") \.field("value", 25.7) \.time(datetime.datetime.utcnow(), WritePrecision.NS)try:write_api.write(bucket=bucket, record=point)print("数据写入成功")except Exception as e:print(f"写入失败: {e}")def query_data():"""从 InfluxDB 查询数据"""query_api = client.query_api()# 构建 Flux 查询语句 # |> filter(fn: (r) => r.location == "room-101")query = f'''from(bucket: "{bucket}")|> range(start: -1h)|> filter(fn: (r) => r._measurement == "temperature")'''try:result = query_api.query(query)print("\n查询结果:")for table in result:for record in table.records:print(f"时间: {record.get_time()}, 值: {record.get_value()}")except Exception as e:print(f"查询失败: {e}")if __name__ == "__main__":write_data()  # 执行数据写入query_data()  # 执行数据查询# 关闭客户端client.close()

执行结果

http://www.dtcms.com/a/328692.html

相关文章:

  • 传输层协议 TCP(1)
  • latex 中将新的一个section重新从1开始排序,而不是和前面的section继续排序
  • 更改webpack默认配置项
  • 第二十二天:指针与内存
  • 【C++详解】用红黑树封装模拟实现mymap、myset
  • 代码随想录刷题Day30
  • UnityWeb打包注意事项及与网页端通信
  • 初识c语言————排序方法
  • 【游戏开发记录】一款网游+修仙为背景的游戏
  • 美国英语 8 You‘re Going to Be Fine 早日康复
  • Dify 从入门到精通(第 32/100 篇):Dify 的日志分析与监控
  • 1688跨境寻源通API接入||跨境寻源通有哪些具体的功能和优势?
  • 反射的详解
  • CAP理论深度解析与工程实践指南
  • USB基础 -- USB2.0设备插入的过程
  • 陕西西安一家IPO四年亏损近25亿负债率攀升,控制权稳定性遭质疑
  • 力扣121:买卖股票的最佳时机
  • 100、【OS】【Nuttx】【构建】cmake 配置保存
  • Xsens惯性动作捕捉系统
  • 数据库事务隔离:详解及Java面试题
  • MyBatis-Plus 分页失效问题解析:@Param 注解的影响与解决方案
  • amis表单较验
  • Datawhale AI夏令营第三期多模态RAG方向 Task3
  • AAAI论文速递 | NEST:超图小世界网络让自动驾驶轨迹预测更精准
  • 基于R语言的现代贝叶斯统计学方法(贝叶斯参数估计、贝叶斯回归、贝叶斯计算实践过程
  • 从聚合到透视:SQL 窗口函数的系统解读
  • 谷歌、facebook、tiktok广告账户多开怎么安全?亚马逊、ebay、shopee多店铺怎么做好?看看adspower工具,注册免费试用及实用技巧分享
  • SQL详细语法教程(一)--数据定义语言(DDL)
  • 基于R语言的现代贝叶斯统计学方法(贝叶斯参数估计、贝叶斯回归、贝叶斯计算)实践
  • 4G模块 ML307A通过MQTT协议连接到阿里云