问题标签 [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.

0 投票
1 回答
4993 浏览

time-series - 具有相同时间戳但测量值不同的 InfluxDB 写入点

要求:我想创建一个 influxDB 数据库来存储来自多个传感器的时间序列数据,这些传感器报告来自不同位置的温度。

问题:当我使用相同的时间戳但不同的标签(例如:位置)和字段(温度)值向数据库写入点时,influx 会用最新的时间戳覆盖标签和字段值

我遵循了他们网站上提供的文档,他们展示了一个具有上述要求的示例数据库,但找不到使用的架构。

具有重复时间戳的示例表

附加信息:样本输入:

我使用了官方文档中给出的示例,仍然不是 2 条记录,我只得到了一条。请注意主机标签不同,理想情况下应该使每个点都是唯一的。

文档

0 投票
1 回答
142 浏览

python - 如何在一个查询中使用多个数据库?

如何使用 influxdb-python 客户端编写这段代码?

选择 column1 INTO 'db2.retention_policy2.measurement2.' FROM 'db1.retention_policy1.measurement1.' 时间 > '2019-01-01';"

我知道您可以创建两个连接,甚至只使用一个连接来查询数据库。

一种方法可能是这样的:

  1. 从 db1 获取需要的数据
  2. 使用 connection.switch_database("db2") 切换数据库
  3. 那么有哪些方法可以将数据推送到 db2 中呢?

谢谢你。

0 投票
1 回答
118 浏览

python - 如何在将数据从一个测量值复制到另一个测量值时插入当前时间?

如何在将数据从一个测量值复制到另一个测量值时插入当前时间。它正确复制所有数据以及从中复制的测量的时间戳。

SELECT MIN(column) 作为值 INTO db2.retention_policy2.measurement2 FROM db1.retention_policy1.measurement1 GROUP BY column1, column2

我希望新测量(measurement2)中的时间列具有当前时间,而不是 db1.retention_policy1.measurement1 中的时间。那可能吗?谢谢你。

将查询转换为列表的一种可能方法:

然后以这种方式更新时间:

最后将更新列表中的数据插入到测量中。任何人都知道如何将数据从列表插入到测量中?

0 投票
1 回答
1179 浏览

python - 将 Python 脚本作为 systemd 服务运行,连接到 InfluxDB 会导致 ConnectionError

我正在运行一个 shell 脚本作为 Ubuntu 的 systemd 服务,以便在启动时启动。该脚本在内部执行一个连接到 InfluxDB(通过 Python 的 influxdb 包)的 Python 脚本 ( python_simulator.py )。

Python 脚本无法在启动时启动,检查日志表明这是因为连接到 InfluxDB 时出现“ ConnectionError ”。我将其解释为,在 Python 服务在启动时激活时,influxdb 服务可能尚未启动。因此,我尝试通过将“ After ”和“ Wants ”添加为“ influxdb.service ”来在服务中添加订单依赖项,这会在 influxdb 服务后几秒钟激活 Python 服务。但是,我仍然遇到相同的连接错误。

systemd 服务 ( myservice.service)如下所示:

Python 脚本的日志文件 ( python_simulator.py)

最后,阻塞的守护进程树显示myservice.service在influxdb.service之后执行:

我不确定为什么我仍然无法使用 influxdb 执行脚本(python_simulator.py)。还有其他依赖吗?myservice.service中是否需要任何更改?任何帮助将不胜感激。

编辑1:

原因可能是ConnectionRefusedError而不是ConnectionError,这可能是因为当它连接到端口 8086的流入时,没有任何东西在监听它?如果是这样,我怎样才能把它放在依赖顺序中?

0 投票
1 回答
1228 浏览

python - 无法将数据帧写入 influxdb

DataFrameClient我正在尝试使用python 驱动程序中的将以下数据帧写入 influxdb 。

由于存在重复的时间戳,我正在尝试编辑标签,以便流入不会覆盖现有记录。我尝试了文档中的方法是这样的:

但我收到一条错误消息:

Series 的真值是模棱两可的。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。

然后,我尝试改用该tag_columns参数并传入 influx 应用作标签的列列表,但是当我查看测量结果时,我看到 influx 创建了带有_1包含数据的后缀的新列,而原始列是空的:

0 投票
1 回答
437 浏览

influxdb - 迭代 InfluxDB 中的大量数据

我正在寻找一种有效的方法来迭代具有约 2.5 亿个条目的 influxDB 表的完整数据。我目前正在使用OFFSETandLIMIT子句对数据进行分页,但是这需要大量时间来获得更高的偏移量。

需要 21 秒,而

耗时 221 秒。

我正在使用 Python influxdb 包装器来发送请求。

有没有办法优化这个或流式传输整个表?


更新:记住最后接收到的数据的时间戳,然后在下一个查询中使用 WHERE time >= last_timestamp,大大减少了更高偏移量的查询时间(查询时间总是 ~25 秒)。然而,这相当麻烦,因为如果两个数据点共享相同的时间戳,一些结果可能会出现在两页数据上,必须以某种方式进行检测。

0 投票
1 回答
1212 浏览

docker - 如何在 Win10 上的 Docker 实例上设置 InfluxDB 系统以从 Windows 系统连接到数据库?

我想创建一个托管 InfluxDB 的 docker 容器作为我的 Python 项目的测试环境。我的 PC 在 Win10 下运行,但 Docker 需要为 InfluxDB 提供 Linux 环境。我设法安装了 docker 和 influxDB(docker pull influxdb)并在其中创建了一个数据库,所以这部分工作正常。Docker 的网络配置显示它位于子网地址 10.0.75.0,子网掩码 255.255.255.0,当我执行ipconfig.

现在我想从我的 Windows10 环境(PyCharm 正在运行的地方)连接到这个 Docker/InfluxDB“服务器”。我发现这个代码片段通过 Python 连接到数据库:

但这会产生一个_influxClient = None

我不知道如何进行,因为我没有在网上找到适当的提示。或者我可能错误地使用了整个 Docker/InfluxDB etup?任何帮助表示赞赏。

0 投票
1 回答
74 浏览

python - Influx DB Python'列表索引必须是整数而不是str'

我目前正在尝试使用 influxdb python 绑定将我收集的一些数据插入到 influxdb 中。

但是,当我尝试使用以下方法插入数据时:

口译员抛出

我究竟做错了什么?JSON 在我看来格式正确。

提前致谢。

0 投票
1 回答
177 浏览

influxdb - 有人可以在 influxdb 中解释 MySeriesHelper,没有太多可用的信息,我对此很陌生

目前,我正在使用 编写数据点client.write_points,但我想批量编写数据点。我应该如何进行?这是我的代码。

0 投票
0 回答
45 浏览

influxdb - 通过 shell 脚本和 CURL 插入测量失败

上面的一个不起作用。

它通过添加特殊字符而失败。打印时,没有得到那些特殊字符。仅使用 curl 和 influxDB 获取这些特殊字符。

{"错误":"无法解析 '$'inspec_reporting,profile=rhel7_enhanced_profile success_control=\u001b[38;5;41m65,failure_control=\u001b[38;5;9m72,skip_control=\u001b[38;5;247m1, success_summary=\u001b[38;5;41m252,failure_summary=\u001b[38;5;9m211,skip_summary=\u001b[38;5;247m1'': 无效布尔值"}