如何使用Pandas从InfluxDB中检索超过10k行?

Gus*_*rra 6 python pandas influxdb influxdb-python

我正在尝试使用InfluxDB的Python客户端来检索存储在InfluxDB上的数据,但不能超过10k行.我(不成功)跟随的例子在这里.综上所述:

import influxdb
dfclient = influxdb.DataFrameClient('localhost', 8086, 'root', 'root', 'mydb')
q = "select * from some_measurement"
df = dfclient.query(q, chunked=True)  # Returns only 10k points
Run Code Online (Sandbox Code Playgroud)

这个问题似乎涉及到InfluxDB的文件化的内部限制在这里(即max-row-limit配置选项).我正在浏览消息来源,试图找出如何获得大于10k行的DataFrame,但是对于解决这个问题的任何帮助都将受到高度赞赏.

Gus*_*rra 5

该问题是由引起DataFrameClientquery简单地忽略该chunked参数[ 代码 ]。

我发现的解决方法不是使用标准InfluxDBClient。问题中显示的代码变为:

import influxdb
client = influxdb.InfluxDBClient('localhost', 8086, 'root', 'root', 'btc')
q = "select * from some_measurement"
df = pd.DataFrame(client.query(q, chunked=True, chunk_size=10000).get_points())  # Returns all points
Run Code Online (Sandbox Code Playgroud)

还值得强调的是,从v1.2.2开始,max-row-limit设置(即chunk_size上述代码中的默认值)已从10k更改为无限制。

  • 我刚刚发送了一个[pull request](https://github.com/influxdata/influxdb-python/pull/439)来修复DataFrameClient对分块请求的处理。 (2认同)