时序数据库Influxdb查询多个字段_field同一时间的值,组成一条数据

news2024/9/22 4:47:37

Influxdb将表格数据多个字段_field从垂直列布局聚合成水平布局行字段。

问题

1、Influxdb 是一种时间序列数据库,在我的项目中主要用来存储换热站的测点数据的。换热站有非常多的测点,我们用Flux 语法去查询测点数据,返回的数据结构是每个测点字段对应的所有时间数据。

from(bucket: "autodata")
 |> range(start:2023-04-11T06:34:16.000Z, stop:2023-04-12T06:35:20.000Z)
 |> filter(fn: (r) => r._measurement == "HeatStationData")
 |> filter(fn: (r) => r["_field"] == "HuiYuanZhan.1500.TT_17_PV" or r["_field"] == "HuiYuanZhan.1500.Level_1_PV" 
 or r["_field"] == "HuiYuanZhan.1500.Modbus_FLMeter_5_LLLL") 
 |> sort(columns:[ "_time"], desc: true) 
 |> limit(n:10, offset: 1) 

2、而我想要的数据格式则是这几个field字段的值作为行字段水平展示,并根据时间聚合在一起,形成一条根据时间的完整数据。也就是我想查询多个字段同一时间的值,组成一条数据。

解决方法

Flux 查询提供了两种方式来解决这个问题:

1、 pivot(rowKey:["_time"], columnKey: ["_field"], valueColumn: "_value")

使用pivot将_field的_value值,作为一个行字段。这样就可以查询同一时间,这三个字段的值了

from(bucket: "autodata")
 |> range(start:2023-04-11T06:34:16.000Z, stop:2023-04-12T06:35:20.000Z)
 |> filter(fn: (r) => r._measurement == "HeatStationData")
 |> filter(fn: (r) => r["_field"] == "HuiYuanZhan.1500.TT_17_PV" or r["_field"] == "HuiYuanZhan.1500.Level_1_PV" 
 or r["_field"] == "HuiYuanZhan.1500.Modbus_FLMeter_5_LLLL") 
 |> pivot(rowKey:["_time"], columnKey: ["_field"], valueColumn: "_value")
 |> sort(columns:[ "_time"], desc: true) 
 |> limit(n:10, offset: 1) 

2、v1.fieldsAsCols()

这是一个Flux 查询提供的函数,使用时,需要先引入,他的功能跟上边的pivot效果是一样的。

 import "influxdata/influxdb/v1"
 
 from(bucket: "autodata")
 |> range(start:2023-04-11T06:34:16.000Z, stop:2023-04-12T06:35:20.000Z)
 |> filter(fn: (r) => r._measurement == "HeatStationData")
 |> filter(fn: (r) => r["_field"] == "HuiYuanZhan.1500.Modbus_FLMeter_5_LLLL" or r["_field"] == "HuiYuanZhan.1500.Level_1_PV" 
 or r["_field"] == "HuiYuanZhan.1500.TT_17_PV") 
 |> sort(columns:[ "_time"], desc: true) 
 |> v1.fieldsAsCols()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1437076.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

阿里云增加数据库访问白名单

阿里云增加数据库访问白名单 概况 我们希望在外网访问数据库时,可能会遇到无法连接的问题,这有可能是被拦截了。这时就需要去查看自己的ip有没有在白名单里面,没有的话就把ip加入到白名单。 路径 阿里云控制台-搜索RDS-进入RDS管理控制台…

每日一题——LeetCode1413.逐步求和得到正数的最小值

方法一 个人方法: 找出数组求和过程中出现的最小值,如果这个值最小都>0,那么startValue只需要取最小正数1, 反之startValue取最小值的绝对值1,那么startValuemin一定>1 var minStartValue function(nums) {l…

MTK 多帧算法集成实现流程

和你一起终身学习,这里是程序员Android 经典好文推荐,通过阅读本文,您将收获以下知识点: 一、选择feature和配置feature table二、 挂载算法三、自定义metadata四、APP调用算法五、结语 一、选择feature和配置feature table 1.1 选择feature …

双面板设计的一套经验规则-笔记

过大的分布电感导致信号地干扰也就是地弹(专业名词) 还有就是输出瞬态电流导致的地弹 图中可以看到最高 0.5V 的信号地干扰,这只是单一块开发板的测试结果。如果接上外围电路,甚至面包板电路可以想象噪声水平可能会更高。 双面电路板 经验规则 下面来…

I.MX6u嵌入式linux驱动开发

1:Ubuntu 系统入门 当 Ubuntu 系统入门以后,我们重点要学的就是如何在 Linux 下进行 C 语言开发,如何使 用 gcc 编译器、如何编写 Makefile 文件等等 首先安装虚拟机软件VM: Vmware Workstation 软件可以在 Wmeare …

架构学习(五):scrapy实现自定义代理中间件

scrapy实现自定义代理中间件 前言关卡:实现自定义代理中间件代理中间件源码解析代理池自定义代理中间件 结束 前言 ip检测是比较常规的反爬手段,一般站点会限制ip的访问频率,或者根据ip的访问规律和频率来识别异常访问,从而点对点…

Stable Diffusion 模型下载:majicMIX fantasy 麦橘幻想

文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八案例九案例十 下载地址 模型介绍 非常推荐的一个非常绚丽、充满幻想的大模型,由国人“Merjic”发布,下载量颇高。这个模型风格炸裂,远距离脸部需要inpaint以达成…

Leetcode—135. 分发糖果【中等】

2024每日刷题(113) Leetcode—135. 分发糖果 算法思想 这里可以利用贪心策略,求局部最优解,然后合并为全局最优解。具体来说,将原问题中相邻孩子的条件划分为左相邻孩子和右相邻孩子两个条件,依次求解出两…

NLP中的嵌入和距离度量

本文将深入研究嵌入、矢量数据库和各种距离度量的概念,并提供示例和演示代码。 NLP中的嵌入 嵌入是连续向量空间中对象、单词或实体的数值表示。在NLP中,词嵌入捕获词之间的语义关系,使算法能够更好地理解文本的上下文和含义。 让我们试着用…

Linux操作系统运维-Docker的基础知识梳理总结

Linux操作系统运维-Docker的基础知识梳理总结 docker用来解决不同开发人员软件调试时环境不统一的问题,保证了程序调试时运行环境的一致性。docker的设计理念便是一处镜像,处处运行,即通过产生用户软件,运行环境及其运行配置的统一…

PKI - 01 散列(Hash)函数

文章目录 PKI概述散列日产生活中的指纹的工作原理散列函数的工作原理散列函数的四大特点使用散列函数验证数据的完整性 PKI概述 PKI(Public Key Infrastructure,公钥基础设施)证书系统是一种用于保护网络通信安全的技术。它基于非对称加密算法…

自己动手打包element UI官方手册文档教程

经常用element ui朋友开发的比较郁闷,官方文档网基本上都是打不开的, 官方:https://element.eleme.io/ 一直打不开,分析下是里面用的cdn链接ssl证书无效。 就想着自己搭建一个element UI文档 自己搭建的: Element文档网…

python 动态显示数据。

界面显示动态的数据。 from time import sleep import serialimport tkinter as tklis[1,10,40] # 打开串行端口 ser serial.Serial(COM3, 9600) # 9600为波特率,根据实际情况进行调整# 创建窗口和画布 window tk.Tk() canvas tk.Canvas(window, width400, heig…

牛客错题整理——C语言(实时更新)

1.以下程序的运行结果是&#xff08;&#xff09; #include <stdio.h> int main() { int sum, pad,pAd; sum pad 5; pAd sum, pAd, pad; printf("%d\n",pAd); }答案为7 由于赋值运算符的优先级高于逗号表达式&#xff0c;因此pAd sum, pAd, pad;等价于(…

大厂聚合支付系统架构演进(上)

点击下方“JavaEdge”&#xff0c;选择“设为星标” 第一时间关注技术干货&#xff01; 关注我&#xff0c;紧跟本系列专栏文章&#xff0c;咱们下篇再续&#xff01; 作者简介&#xff1a;魔都国企技术专家兼架构&#xff0c;多家大厂后端一线研发经验&#xff0c;各大技术社区…

OpenCV与机器学习:使用opencv和sklearn实现线性回归

前言 线性回归是一种统计分析方法&#xff0c;用于确定两种或两种以上变量之间相互依赖的定量关系。在统计学中&#xff0c;线性回归利用线性回归方程&#xff08;最小二乘函数&#xff09;对一个或多个自变量&#xff08;特征值&#xff09;和因变量&#xff08;目标值&#…

osg模型的平移、缩放、旋转

加载2个模型&#xff0c;其中一个向上移动28个单位&#xff1b; 加载2个模型&#xff0c;其中一个缩放0.5倍&#xff0c;向下移动22个单位&#xff1b; 加载2个模型&#xff0c;其中一个缩放0.5倍、旋转45度、向右向下移动几个单位&#xff1b; 都是用矩阵实现的&#xff1b; …

Mac上软件闪退(意外退出)的解决方法

mac苹果电脑上运行软件会意外退出&#xff0c;怎么办&#xff0c;可以试试下面的方法&#xff0c;亲测可行&#xff01; 第一种方法&#xff1a; 1、打开访达&#xff0c;进入应用程序目录&#xff0c;找到闪退的软件图标&#xff0c;在软件图标上右键选择“显示简介”&#…

【计算机网络】【练习题及解答】【新加坡南洋理工大学】【Computer Control Network】【Exercise Solution】

说明&#xff1a; 个人资料&#xff0c;仅供学习使用&#xff0c;版权归校方所有。 一、题目描述 该问题接上期博文【练习题及解答】&#xff0c;描述网络通信中的链路效率&#xff08;Link Efficiency&#xff09;&#xff0c;即Link Utilization的计算。&#xff08;此处认…

golang 引入swagger(iris、gin)

golang 引入swagger&#xff08;iris、gin&#xff09; 在开发过程中&#xff0c;我们不免需要调试我们的接口&#xff0c;但是有些接口测试工具无法根据我们的接口变化而动态变化。文档和代码是分离的。总是出现文档和代码不同步的情况。这个时候就可以在我们项目中引入swagge…