使用InfluxDB Java客户端查找字段键和值

时间:2019-01-10 21:09:35

标签: java influxdb

使用InfluxDB Java client通过Java应用程序与我的InfluxDB实例进行通信。

我正在尝试完成似乎在项目内部任何地方都没有记载的事情。对于特定的测量,我需要列出其最新的(按时间戳记)字段密钥及其值,而无需知道它们的名称!

因此,假设我有一个名为FizzBuzz的测量值:

> SHOW measurements
name: measurements
name
----
FizzBuzz

我相信ORDER BY ASC是InfluxDb的默认值,这意味着默认情况下,最后/最新的测量数据始终是最后一次返回查询的数据。所以我认为我正在寻找从Java运行这样的东西:

SELECT * FROM FizzBuzz ORDER BY DESC LIMIT 1;

但是我的应用程序不知道该返回结果上的字段键是什么,因此我需要一种方法(通过API)检查返回并获得的记录任何字段键的名称(以便我可以将它们另存为字符串)并获取它们各自的值(可以放心地假定可以将其强制转换为BigDecimals)。

到目前为止我最大的尝试:

Query query = new Query("SELECT * FROM FizzBuzz ORDER BY DESC LIMIT 1", "my-app-db");
QueryResult queryResult = connection.query(query);

for(Result result : queryResult.getResults()) {
    for(Series series : result.getSeries()) {
        List<String> cols = series.getColumns();

        // But how to tell whats a field vs whats a tag?!
    }
}

但是,这不能让我辨别字段是哪些列,而标签只是哪个...有什么主意?

0 个答案:

没有答案