python - 高效查询和处理 InfluxDB 数据
问题描述
我有一个 InfluxDB,我在其中存储每个数据集包含 20.000-40.000 个字段键的数据集。
现在我想通过 Python 脚本(python 3.7x,influxdb_python 5.3.1)从数据库中提取数据。我使用 HTTP 连接连接到 influxdb,然后执行如下查询:
queryResult = influxClient.query('SELECT * FROM measurement_with_many_field_keys')
此查询会在不到一秒的时间内返回。现在我想处理数据,所以我想将它映射到 Pandas DataFrame。目前我正在使用以下代码:
output = pd.DataFrame()
points = queryResult.get_points()
for point in points:
output = output.append(Series(point), ignore_index=True)
return output
在 ResultSet 中有 16 个点时,此代码需要 100 秒或更长时间(在标准 Windows PC 上)。有没有办法以更有效的方式完成这项工作。
解决方案
推荐阅读
- javascript - 网格线边距的 Google 图表颜色
- ios - 您如何引用在 for 循环中创建的特定视图?
- sapui5 - 如何清除 SmartForm 的值?
- python - 在 Python 中,in 运算符是如何实现的?它是否使用迭代器的 next() 方法?
- corda - 如何将 AbstractParty 持久化到 Vault?
- c# - jQuery AJAX 请求返回 HTML 而不是 JSON 结果(Razor 页面)
- r - 如何以编程方式查找 R 包的数量?
- amazon-web-services - 在 AWS EKS 中使用什么凭证来访问 SNS 等 AWS 服务。
- javascript - ES6 - 从对象数组中删除重复项
- python - 我创建的函数不接受数组作为参数之一