Package com.influxdb.v3.client.internal
Class InfluxDBClientImpl
- java.lang.Object
-
- com.influxdb.v3.client.internal.InfluxDBClientImpl
-
- All Implemented Interfaces:
InfluxDBClient
,AutoCloseable
public final class InfluxDBClientImpl extends Object implements InfluxDBClient
Implementation of the InfluxDBClient. It is thread-safe and can be safely shared between threads.Please use
InfluxDBClient
to create an instance.
-
-
Constructor Summary
Constructors Constructor Description InfluxDBClientImpl(ClientConfig config)
Creates an instance using the specified config.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
Stream<Object[]>
query(String query)
Query data from InfluxDB IOx using FlightSQL.Stream<Object[]>
query(String query, QueryOptions options)
Query data from InfluxDB IOx using FlightSQL.Stream<org.apache.arrow.vector.VectorSchemaRoot>
queryBatches(String query)
Query data from InfluxDB IOx using FlightSQL.Stream<org.apache.arrow.vector.VectorSchemaRoot>
queryBatches(String query, QueryOptions options)
Query data from InfluxDB IOx using FlightSQL.void
writePoint(Point point)
Write aPoint
to the InfluxDB server.void
writePoint(Point point, WriteOptions options)
Write aPoint
to the InfluxDB server.void
writePoints(List<Point> points)
Write a list ofPoint
to the InfluxDB server.void
writePoints(List<Point> points, WriteOptions options)
Write a list ofPoint
to the InfluxDB server.void
writeRecord(String record)
Write a record specified in the InfluxDB Line Protocol to the InfluxDB server.void
writeRecord(String record, WriteOptions options)
Write a record specified in the InfluxDB Line Protocol to the InfluxDB server.void
writeRecords(List<String> records)
Write records specified in the InfluxDB Line Protocol to the InfluxDB server.void
writeRecords(List<String> records, WriteOptions options)
Write records specified in the InfluxDB Line Protocol to the InfluxDB server.
-
-
-
Constructor Detail
-
InfluxDBClientImpl
public InfluxDBClientImpl(@Nonnull ClientConfig config)
Creates an instance using the specified config.Please use
InfluxDBClient
to create an instance.- Parameters:
config
- the client config.
-
-
Method Detail
-
writeRecord
public void writeRecord(@Nullable String record)
Description copied from interface:InfluxDBClient
Write a record specified in the InfluxDB Line Protocol to the InfluxDB server.- Specified by:
writeRecord
in interfaceInfluxDBClient
- Parameters:
record
- the record specified in the InfluxDB Line Protocol, can be null
-
writeRecord
public void writeRecord(@Nullable String record, @Nonnull WriteOptions options)
Description copied from interface:InfluxDBClient
Write a record specified in the InfluxDB Line Protocol to the InfluxDB server.- Specified by:
writeRecord
in interfaceInfluxDBClient
- Parameters:
record
- the record specified in the InfluxDB Line Protocol, can be nulloptions
- the options for writing data to InfluxDB
-
writeRecords
public void writeRecords(@Nonnull List<String> records)
Description copied from interface:InfluxDBClient
Write records specified in the InfluxDB Line Protocol to the InfluxDB server.- Specified by:
writeRecords
in interfaceInfluxDBClient
- Parameters:
records
- the records specified in the InfluxDB Line Protocol, cannot be null
-
writeRecords
public void writeRecords(@Nonnull List<String> records, @Nonnull WriteOptions options)
Description copied from interface:InfluxDBClient
Write records specified in the InfluxDB Line Protocol to the InfluxDB server.- Specified by:
writeRecords
in interfaceInfluxDBClient
- Parameters:
records
- the records specified in the InfluxDB Line Protocol, cannot be nulloptions
- the options for writing data to InfluxDB
-
writePoint
public void writePoint(@Nullable Point point)
Description copied from interface:InfluxDBClient
Write aPoint
to the InfluxDB server.- Specified by:
writePoint
in interfaceInfluxDBClient
- Parameters:
point
- thePoint
to write, can be null
-
writePoint
public void writePoint(@Nullable Point point, @Nonnull WriteOptions options)
Description copied from interface:InfluxDBClient
Write aPoint
to the InfluxDB server.- Specified by:
writePoint
in interfaceInfluxDBClient
- Parameters:
point
- thePoint
to write, can be nulloptions
- the options for writing data to InfluxDB
-
writePoints
public void writePoints(@Nonnull List<Point> points)
Description copied from interface:InfluxDBClient
Write a list ofPoint
to the InfluxDB server.- Specified by:
writePoints
in interfaceInfluxDBClient
- Parameters:
points
- the list ofPoint
to write, cannot be null
-
writePoints
public void writePoints(@Nonnull List<Point> points, @Nonnull WriteOptions options)
Description copied from interface:InfluxDBClient
Write a list ofPoint
to the InfluxDB server.- Specified by:
writePoints
in interfaceInfluxDBClient
- Parameters:
points
- the list ofPoint
to write, cannot be nulloptions
- the options for writing data to InfluxDB
-
query
@Nonnull public Stream<Object[]> query(@Nonnull String query)
Description copied from interface:InfluxDBClient
Query data from InfluxDB IOx using FlightSQL.The result stream should be closed after use, you can use try-resource pattern to close it automatically:
try (Stream<Object[]> rows = client.query("select * from cpu")) { rows.forEach(row -> { // process row } });
- Specified by:
query
in interfaceInfluxDBClient
- Parameters:
query
- the SQL query string to execute, cannot be null- Returns:
- Batches of rows returned by the query
-
query
@Nonnull public Stream<Object[]> query(@Nonnull String query, @Nonnull QueryOptions options)
Description copied from interface:InfluxDBClient
Query data from InfluxDB IOx using FlightSQL.The result stream should be closed after use, you can use try-resource pattern to close it automatically:
try (Stream<Object[]> rows = client.query("select * from cpu", options)) { rows.forEach(row -> { // process row } });
- Specified by:
query
in interfaceInfluxDBClient
- Parameters:
query
- the SQL query string to execute, cannot be nulloptions
- the options for querying data from InfluxDB- Returns:
- Batches of rows returned by the query
-
queryBatches
@Nonnull public Stream<org.apache.arrow.vector.VectorSchemaRoot> queryBatches(@Nonnull String query)
Description copied from interface:InfluxDBClient
Query data from InfluxDB IOx using FlightSQL.The result stream should be closed after use, you can use try-resource pattern to close it automatically:
try (Stream<VectorSchemaRoot> batches = client.queryBatches("select * from cpu")) { batches.forEach(batch -> { // process batch } });
- Specified by:
queryBatches
in interfaceInfluxDBClient
- Parameters:
query
- the SQL query string to execute, cannot be null- Returns:
- Batches of rows returned by the query
-
queryBatches
@Nonnull public Stream<org.apache.arrow.vector.VectorSchemaRoot> queryBatches(@Nonnull String query, @Nonnull QueryOptions options)
Description copied from interface:InfluxDBClient
Query data from InfluxDB IOx using FlightSQL.try (Stream<VectorSchemaRoot> batches = client.queryBatches("select * from cpu", options)) { batches.forEach(batch -> { // process batch } });
- Specified by:
queryBatches
in interfaceInfluxDBClient
- Parameters:
query
- the SQL query string to execute, cannot be nulloptions
- the options for querying data from InfluxDB- Returns:
- Batches of rows returned by the query
-
close
public void close() throws Exception
- Specified by:
close
in interfaceAutoCloseable
- Throws:
Exception
-
-