问题标签 [influxdb-python]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何对通过数据库查询的数据进行切片日期?
如何使用 std 输入函数对数据进行切片?
我的数据如下:
我从 influxdb 查询数据,然后转换为 Dataframe。SyntaxError: invalid token
输入时给我一个错误Starting date :
我试图将time
列拆分为单独date
的Time
还是没有运气!!!
tcp - Influxdb 不关闭 TCP 连接
1.1.1.1:8086
我从我的电脑 ( )连接到我的 influxdb ( 2.2.2.2
) 以执行一些查询。我发现,我的服务器保持连接打开:
当我在本地主机上尝试它时,当我停止发送查询或数据以几乎立即保存时,连接减少了。influxdb 也没有执行查询:
如何在 linux 中关闭此会话?我应该如何配置 influxdb 以自动关闭此会话(在本地主机上我有默认配置)。
版本:
Python lib influxdb (5.1.0)
OS Ubuntu 16.04.5 LTS
程序:
python-3.x - Dump series back into InfluxDB after querying with replaced field value
Scenario
I want to send data to an MQTT Broker (Cloud) by querying measurements from InfluxDB.
I have a field in the schema which is called status
. It can either be 1
or 0
. status=0
indicated that series has not been sent to the cloud. If I get an acknowlegdment from the MQTT Broker then I wish to rewrite the query back into the database with status=1
.
As mentioned in FAQs for InfluxDB regarding Duplicate data If the information has the same timestamp as the previous query but with a different field value => then the update field will be shown.
In order to test this I created the following:
query:
provides
now if I want to overwrite the series I do the following:
which will overwrite the series
(Note: this is not possible via Tags currently in InfluxDB)
Usage
- Query some information using the client with
"status"=0
. - Restructure JSON to be sent to the cloud
- Send the information to cloud
- If successful then write the output from Step 1. back into the DB but with
status=1
.
I am using the InfluxDBClient Python3
to create the Application (MQTT + InfluxDB)
Within the write_points
API there is a parameter which mentions batch_size
which require int
as input.
I am not sure how can I use this with the Application that I want. Can someone guide me with this or with the Schema of the DB so that I can upload actual and non-redundant information to the cloud ?
python-3.x - 如何在python中创建一个混合“和”的字符串,用于对influxdb进行查询?
我正在尝试编写以下字符串语句来对 influx db 进行查询:
query=SELECT FIRST("price") ,LAST("price") ,MAX("price") ,MIN("price") ,SUM("amount") FROM "table name" WHERE time >= '2018-05-10T12:02:00Z' AND time <= '2018-06-10T12:03:00Z' GROUP BY time(1h)
但是,由于它在同一个字符串中混合了 " 和 ',因此我无法在 python 中正确解析。
当我尝试:
query='SELECT FIRST("price") ,LAST("price") ,MAX("price") ,MIN("price") ,SUM("amount") FROM "table name" WHERE time >= '2018-05-10T12:02:00Z' AND time <= '2018-06-10T12:03:00Z' GROUP BY time(1h)'
它说由于 ' 在关闭字符串的日期之前导致的无效语法。我也尝试删除或只放置“而不是”,但它没有用。最后我尝试了一些更脏的东西:
query='SELECT FIRST("price") ,LAST("price") ,MAX("price") ,MIN("price") ,SUM("amount") FROM 'tablename' WHERE time >='+"'2018-05-10T12:02:00Z'"+' AND time <= '+"'2018-06-10T12:03:00Z'"+'GROUP BY time(1h)'
但我得到一个空查询。感谢您对此的任何帮助,谢谢。
influxdb - 您如何在指定的时间间隔内对 influxdb 数据进行采样?
我每 30 秒存储“块”数据。块的每一行上的时间戳是相同的。测量值和其中一个标签不同。有没有办法查询数据,以便我获取过去 24 小时的数据,但时间戳为每 x 分钟而不是 30 秒?我不需要那么好的分辨率。
python-3.x - 如何将变量放入json对象?
一个非常简单的菜鸟问题。如何在这个 json_body 变量中放置变量?问题在于所有引号。我不能为此使用 .format 字符串方法,因为 json_body 变量不包含简单的字符串。
来源:https ://github.com/influxdata/influxdb-python#examples
因此,例如,我如何在其中获取变量,例如
至:
在示例代码中,所有值都是硬编码的。
influxdb - 如何在 Influx DB 中选择、修改和插入数据?
我是 InfluxDB 的新手。我目前有两个数据库在涌入。我现在想从数据库 1 中的测量中复制某些数据点,然后我想手动引入几个字段集并修改我复制的几个字段值,最后在不同的测量下将更改的数据点插入数据库 2 中。
我可以使用 select into 语句,但是这不允许我更改数据点。如果我使用插入命令,我将不得不单独键入所有字段集和标签集。
我有一个解决方案,我可以使用 python 并查询数据点并操作数据然后将其插入回来。然而,这将是一个漫长的过程。
有没有简单的方法来完成这项任务?
谢谢。
kapacitor - InfluxDB - Kapacitor udf 超时
我正在尝试使用 InfluxDBClient 从用 Python 编写的 kapcitor udf 中的 InfluxDB 获取数据。如果数据大小非常小,例如 2000 条记录,我可以获取数据,但是一旦数据大小超过它就会开始失败并显示以下错误消息: _ts=2018-10-22T11:19:32.535Z lvl= error msg="encountered error" service=kapacitor task_master=main task=batch_task1 node=func2 err="keepalive timeout, last keepalive received was: 2018-10-22 11:17:52.535771714 +0000 UTC_ _ts=2018-10-22T11 :19:32.536Z lvl=error msg="failed to snapshot task" service=kapacitor task_master=main task=batch_task1 err="keepalive timeout, last keepalive received was: 2018-10-22 11:17:52.535771714 +0000 UTC_ 我尝试在 kapacitor.conf 中为 udffunctions 更改超时,但没有成功。我什至尝试将超时时间提高到超过 1 小时,但仍然出现相同的错误。
任何帮助,将不胜感激。
提前致谢
python - 你应该使用 InfluxDBClient 的 close() 方法吗?
正如 InfluxDB Python 的 API 文档中提到的,InfluxDBClient 有一个方法 close()。您应该始终使用它还是自动关闭它?