在influxdb中动态创建标签数量-java API点在influxDB中插入一个点
Dynamically creating number of tags in influxdb-java API point to insert a point in influxDB
我正在尝试使用 influxdb-java API.
将 oracle 数据插入 influxdb
我想编写一个通用代码,根据我的 SQL 查询输出字段将数据插入 influx。
目前我正在使用 switch 并根据从查询中获得的属性数量制作多个案例。
代码参考:
switch (columnLength) {
case 1:
sotPoint = Point.measurement(measurementName)
.time(System.currentTimeMillis(),TimeUnit.MILLISECONDS)
.tag("source", "SOT")
.tag(attributes[0],rsObj.getString(attributes[0]))
.addField("recordcount", 1)
.build();
break;
case 2:
sotPoint = Point.measurement(measurementName)
.time(System.currentTimeMillis(),TimeUnit.MILLISECONDS)
.tag("source", "SOT")
.tag(attributes[0],rsObj.getString(attributes[0]))
.tag(attributes[1],rsObj.getString(attributes[1]))
.addField("recordcount", 1)
.build();
break;
default: System.out.println("Invalid column length");
}
有什么方法可以单独动态创建标签字段,并且在创建点时只需在该点添加这些字段?
我使用的是influxdb-java API 2.2版本
<dependency>
<groupId>org.influxdb</groupId>
<artifactId>influxdb-java</artifactId>
<version>2.2</version>
</dependency>
我们可以使用构建器对象实现上述目标:
Builder builder=Point.measurement(measurementName).time(date,TimeUnit.MILLISECONDS).tag("source", source);
for (Map.Entry<String, String> entry : tagMap.entrySet()) {
builder.tag(entry.getKey(),entry.getValue());
}
for (Map.Entry<String, Long> entry : filedMap.entrySet()) {
builder.addField(entry.getKey(),entry.getValue());
}
builder.addField("recordcount", 1);
point=builder.build();
我正在尝试使用 influxdb-java API.
将 oracle 数据插入 influxdb我想编写一个通用代码,根据我的 SQL 查询输出字段将数据插入 influx。
目前我正在使用 switch 并根据从查询中获得的属性数量制作多个案例。 代码参考:
switch (columnLength) {
case 1:
sotPoint = Point.measurement(measurementName)
.time(System.currentTimeMillis(),TimeUnit.MILLISECONDS)
.tag("source", "SOT")
.tag(attributes[0],rsObj.getString(attributes[0]))
.addField("recordcount", 1)
.build();
break;
case 2:
sotPoint = Point.measurement(measurementName)
.time(System.currentTimeMillis(),TimeUnit.MILLISECONDS)
.tag("source", "SOT")
.tag(attributes[0],rsObj.getString(attributes[0]))
.tag(attributes[1],rsObj.getString(attributes[1]))
.addField("recordcount", 1)
.build();
break;
default: System.out.println("Invalid column length");
}
有什么方法可以单独动态创建标签字段,并且在创建点时只需在该点添加这些字段?
我使用的是influxdb-java API 2.2版本
<dependency>
<groupId>org.influxdb</groupId>
<artifactId>influxdb-java</artifactId>
<version>2.2</version>
</dependency>
我们可以使用构建器对象实现上述目标:
Builder builder=Point.measurement(measurementName).time(date,TimeUnit.MILLISECONDS).tag("source", source);
for (Map.Entry<String, String> entry : tagMap.entrySet()) {
builder.tag(entry.getKey(),entry.getValue());
}
for (Map.Entry<String, Long> entry : filedMap.entrySet()) {
builder.addField(entry.getKey(),entry.getValue());
}
builder.addField("recordcount", 1);
point=builder.build();