influxdb - 如何在 influxdb 中获取表的列名

标签 influxdb influxdb-python

我正在尝试使用一个我几乎不了解的数据库,我需要知道一个表的列名:

这是我尝试过的:

client = DataFrameClient(host, 8086, username, password, "marketdata")
client.switch_database('marketdata')
print(client.query("show measurements"))
# ResultSet({'('measurements', None)': [{'name': 'bookTicker'}]})

query = "SELECT COUNT(DISTINCT bookTicker) FROM information_schema.columns WHERE table_schema = 'marketdata'"

dataframes = client.query(query)
raise InfluxDBClientError(self.error)
influxdb.exceptions.InfluxDBClientError: retention policy not found: information_schema

我也试过:

query = "select * from bookTicker limit 10"
raise ChunkedEncodingError(e)
requests.exceptions.ChunkedEncodingError: ("Connection broken: InvalidChunkLength(got length b'', 0 bytes read)", InvalidChunkLength(got length b'', 0 bytes read))

最佳答案

您正在尝试将 SQL 知识用于非 SQL InfluxDB。

InfluxDB 没有列的概念,但有标签(在 SQL 中表示类似于索引列)和字段(类似于列)。

您可以通过查询来探索它们:

SHOW TAG KEYS [ON <database_name>] [FROM_clause] [WHERE <tag_key> ['<tag_value>' | <regular_expression>]] [LIMIT_clause] [OFFSET_clause]

https://docs.influxdata.com/influxdb/v1.7/query_language/schema_exploration/#show-tag-keys

SHOW FIELD KEYS [ON <database_name>] [FROM <measurement_name>]

https://docs.influxdata.com/influxdb/v1.7/query_language/schema_exploration/#show-field-keys

关于influxdb - 如何在 influxdb 中获取表的列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68274418/

相关文章:

influxdb - 如何使用时间范围从 Influx 中获取总和值?

ubuntu - 无法为 influxdb docker 镜像运行 CLI/SHELL

python - 将具有多个标签的值写入 influxDB(使用 python)

python - 使用带有 Line 协议(protocol)的 Python 客户端将数据插入 Influxdb

postgresql - 从 Influx 迁移到 Postgres,需要提示

json - 从 influxdb 中检索一个(最后一个)值

time-series - 在 influxdb 上插入数据时强制字段/标签

python - 通过 Python 与 InfluxDB 了解 Unix 纪元时间的差异

python - 如何使用 python 客户端将大量行从 InfluxDB 导出到 CSV?