- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 InfluxDB 2.0 的新手,正在构建一个时间序列数据库,我在其中存储每个点的多个字段(XAUUSD 货币的价格值)。
虽然我能够按预期存储它;当我获取记录时,我似乎无法获取每条记录可访问的所有字段。
这是我如何将一些虚拟数据写入数据库的代码片段:
from datetime import datetime
import time
import influxdb_client
from influxdb_client.client.write_api import SYNCHRONOUS
import random
token = "XXX"
org = "Trader"
bucket = "Master"
url="http://localhost:8086"
client = influxdb_client.InfluxDBClient(
url=url,
token=token,
org=org
)
write_api = client.write_api(write_options=SYNCHRONOUS)
while True:
p = influxdb_client.Point("D1").tag("currency", "XAUUSD").field("open", random.randint(900,1100)).field("close", random.randint(900,1100)).time(datetime.utcnow(), influxdb_client.WritePrecision.NS)
write_api.write(bucket=bucket, org=org, record=p)
time.sleep(1)
我正在尝试将数据读回:
query_api = client.query_api()
query = ' from(bucket:"Master")\
|> range(start: -5h)\
|> filter(fn:(r) => r._measurement == "D1")\
|> filter(fn: (r) => r.currency == "XAUUSD")\
|> filter(fn:(r) => r["_field"] == "close" or r["_field"] == "open")'
result = client.query_api().query(org=org, query=query)
for table in result:
for record in table.records:
results.append((record.get_field(), record.get_value()))
print(results)
问题是;每行结果如下:
{'result': '_result', 'table': 1, '_start': datetime.datetime(2021, 5, 4, 8, 58, 35, 12587, tzinfo=tzutc()), '_stop': datetime.datetime(2021, 5, 4, 13, 58, 35, 12587, tzinfo=tzutc()), '_time': datetime.datetime(2021, 5, 4, 13, 12, 56, 86095, tzinfo=tzutc()), '_value': 961, '_field': 'open', '_measurement': 'D1', 'currency': 'XAUUSD'}
并且它没有同时显示这两个字段;打开和关闭(它们显示为单独的行,其中 _field 对一个条目“打开”,对同一条目“关闭”第二个条目)。
有没有一种方法可以让结果行在一个结果中同时包含两个字段值而不是两个?每个字段 1 个?因为如果我添加更多字段,我将不得不找到一种方法来合并 n 行以获得相同的价格变动。
我试图浏览 InfluxDB 文档,但所有示例都只显示一个 _field 值,而不是多个。
网上有一些答案将 pivot 与正则表达式一起使用,但我认为这不适合我的情况,因为在 MySQL 中这样的简单查询是:
SELECT open, close FROM XAUUSD WHERE interval="D1";
关于如何使用 InfluxDB 解决这个“简单”任务的任何想法或帮助,或者我只是使用了错误的工具来完成这项工作?
最佳答案
我也有同样的疑问。
This link helped me.
Pivot fields into columns
Use pivot() to pivot the mem_used and mem_total fields into columns.Output includes mem_used and mem_total columns with values for eachcorresponding _time.
query = ' from(bucket:"Master")\
|> range(start: -5h)\
|> filter(fn:(r) => r._measurement == "D1")\
|> filter(fn: (r) => r.currency == "XAUUSD")\
|> filter(fn:(r) => r["_field"] == "close" or r["_field"] == "open")\
|> pivot(rowKey: ["_time"], columnKey: ["_field"], valueColumn: "_value")' # <- Add this
关于python - 访问 InfluxDB 2.0 记录中的多个字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67387640/
我正在尝试收集 smartctl 指标并将它们推送到 influxdb 中。我很难为插入的值添加标签,以便标签和值位于正确的位置。 如果我这样做: curl -POST 'http://localho
是否可以设置 influxdb 从其他 influxdb 获取数据? 或者有一些本地日志代理用于流入数据。 例如我有 10 个后端服务器。我希望每个后端服务器中间件代码都在 influxdb 或一些本
我正在尝试获取给定测量的标签值。我在 influxDB 中进行了测量,如下所示。 > select * from "EVENT_LIVE" name: EVENT_LIVE time
在尝试理解 InfluxDb 的不同概念时,我遇到了 this文档,其中有与 SQL 数据库的术语比较。 An InfluxDB measurement is similar to an SQL da
我的 influxDB 用例是存储来自不同 PLC 的过程数据并对其进行趋势分析。我使用 grafana 可视化这些数据。在第一个试点中,我使用了 influxDB 的模式设计指南,使用通用测量名称并
有没有办法在 influxdb 中为特定查询创建临时表? (因此它们的范围只是该查询,而不是创建并插入到新的测量中)。 我想过写一个连续查询,但是有restrictions在 where 子句(即时间
在InfluxDB中,可以将多维哈希值post到数据库吗? 例如,这个散列: { "field1": "value1", "field2": { "field2a":
有没有办法从 InfluxDB 测量中选择所有值字段(或所有标签字段)? SELECT * FROM ... 查询选择值 和 标签。 最佳答案 SELECT *::field FROM "measur
什么查询将返回 InfluxDB 中不同主机的数量?我有一小群计算机(希望如此)通过 collectd 将统计数据写入 InfluxDB,但我不知道如何计算计算机成功写入的次数。 编辑:使用 Infl
我正在尝试使用一个我几乎不了解的数据库,我需要知道一个表的列名: 这是我尝试过的: client = DataFrameClient(host, 8086, username, password, "
我的 influxdb 数据库中有一些测量数据,我可以使用这些数据进行查询: 从 E_real_con 中选择 * 名称:E_real_con 时间值(value) ---- ----- 153792
我正在使用 telegraf 将 snmp 数据推送到我的 InfluxDB 并通过 Grafana 将其可视化。 现在我遇到了一个奇怪的问题(很可能只是我的误解......) 鉴于以下系列: snm
每天查询 InfluxDB 特定时间的最佳方法是什么,例如,我有一个有 checkin / checkout 事件的系列,我需要在上个月每天下午 2 点到 3 点之间查看它们,我知道没有在查询语言上执
是否可以使用不同的保留策略处理 influxdb 中的不同测量? 最佳答案 InfluxDB 完全可以做到这一点。为此,您需要创建一个具有两个保留策略的数据库,然后将数据写入关联的保留策略。 例子:
InfluxDB我有两个写点,一个是开始,一个是结束。我只需要确定这两个事件之间的持续时间,并围绕它进行查询。 InfluxDB 有差异()聚合方法,但它不适用于时间元字段。 提供自定义时间戳值是实现
我已经使用 influxDB 一段时间了,但从来没有从它连续流过数据。一个简单的 GET/query 就足够了。但是现在我需要一种将数据流式传输到前端以绘制漂亮图形等的方法。 到目前为止,我们一直在前
能否请您帮助解决以下错误 - INSERT blocks,color=blue number=90 1547095860 ERR: {"error":"partial write: points be
我在 InfluxDB 中设置身份验证时遇到问题。首先跟随教程告诉我更改配置文件: https://docs.influxdata.com/influxdb/v1.7/administration/a
我在 Influxdb 中有 my_db1、my_db2、my_db3,现在有没有办法通过查询在这些数据库之间移动或复制数据? 最佳答案 InfluxQL 提供了一个 INTO可用于在数据库之间复制数
我在 localhost:8086 上运行了 InfluxDB (它是默认的)和在不同端口上运行的 go 程序(因为它必须,也不能在 8086 上运行)。我试图在我的 go 程序中使用 JavaScr
我是一名优秀的程序员,十分优秀!