使用Python查询influxdb数据库中的数据,但是对于查询到的结果不知道怎么解析,返回的ResultSet结果如下:

ResultSet({'(u'cpu/usage', None)': [{u'value': 31587109, u'time': u'2019-04-16T12:32:00Z'}]})

直接在数据库中查询的结果如下:

> use k8s
Using database k8s
> select "value" from "cpu/usage" where "pod_name"='mysql-slave-3-zx9dj' and "type"='pod' order by time desc limit 1
name: cpu/usage
time                value
----                -----
1555403340000000000 19669144

我需要获取“value”的值,想尝试使用json解析,但是有些无从下手,查阅了infludb的官方文档,又翻了一些网页,终于在Python InfluxDBClient - How to read a single measurement and nothing else (SOLVED) 这里找到了和我有一样问题的网友,可以点进链接看详细内容。

  • 解决方案:
    Python代码如下:
sql = '''select "value" from "cpu/usage" where "pod_name"='mysql-slave-3-zx9dj' and "type"='pod' order by time desc limit 1'''
result = client.query(sql)
points = result.get_points()
for item in points:
	print(item[u'value']

即可获取“u’value’”的值。
在这里插入图片描述


另:使用list(result.get_points(measurement="cpu/usage")) 即可获取ResultSet中中括号里的内容[{u'value': 31587109, u'time': u'2019-04-16T12:32:00Z'}]

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐