Get started querying data
- 3 / 3
InfluxDB Cloud Dedicated supports multiple query languages:
- SQL: Traditional SQL powered by the Apache Arrow DataFusion query engine. The supported SQL syntax is similar to PostgreSQL.
- InfluxQL: An SQL-like query language designed to query time series data stored in InfluxDB.
This tutorial walks you through the fundamentals of querying data in InfluxDB and focuses on using SQL to query your time series data. The InfluxDB SQL implementation is built using Arrow Flight SQL, a protocol for interacting with SQL databases using the Arrow in-memory format and the Flight RPC framework. It leverages the performance of Apache Arrow with the simplicity of SQL.
The examples in this section of the tutorial query the get-started database for data written in the Get started writing data section.
Tools to execute queries
InfluxDB Cloud Dedicated supports many different tools for querying data, including:
* Covered in this tutorialinfluxctl
CLI*influx3
data CLI*- InfluxDB 3 client libraries*
- Flight clients
- Superset
- Grafana
- InfluxQL with InfluxDB v1 HTTP API
- Chronograf
/api/v2/query not supported
The /api/v2/query
API endpoint and associated tooling, such as the influx
CLI and InfluxDB v2 client libraries, aren’t supported in InfluxDB Cloud Dedicated.
SQL query basics
The InfluxDB Cloud Dedicated SQL implementation is powered by the Apache Arrow DataFusion query engine which provides an SQL syntax similar to PostgreSQL.
This is a brief introduction to writing SQL queries for InfluxDB. For more in-depth details, see Query data with SQL.
InfluxDB SQL queries most commonly include the following clauses:
* Required- *
SELECT
: Identify specific fields and tags to query from a measurement or use the wildcard alias (*
) to select all fields and tags from a measurement. - *
FROM
: Identify the measurement to query. If coming from an SQL background, an InfluxDB measurement is the equivalent of a relational table. WHERE
: Only return data that meets defined conditions such as falling within a time range, containing specific tag values, etc.GROUP BY
: Group data into SQL partitions and apply an aggregate or selector function to each group.
-- Return the average temperature and humidity within time bounds from each room
SELECT
avg(temp),
avg(hum),
room
FROM
home
WHERE
time >= '2025-01-20T08:00:00Z'
AND time <= '2025-01-20T20:00:00Z'
GROUP BY
room
- Copy
- Fill window
Example SQL queries
Select all data in a measurement
SELECT * FROM home
- Copy
- Fill window
Select all data in a measurement within time bounds
SELECT
*
FROM
home
WHERE
time >= '2025-01-20T08:00:00Z'
AND time <= '2025-01-20T20:00:00Z'
- Copy
- Fill window
Select a specific field within relative time bounds
SELECT temp FROM home WHERE time >= now() - INTERVAL '1 day'
- Copy
- Fill window
Select specific fields and tags from a measurement
SELECT temp, room FROM home
- Copy
- Fill window
Select data based on tag value
SELECT * FROM home WHERE room = 'Kitchen'
- Copy
- Fill window
Select data based on tag value within time bounds
SELECT
*
FROM
home
WHERE
time >= '2025-01-20T08:00:00Z'
AND time <= '2025-01-20T20:00:00Z'
AND room = 'Living Room'
- Copy
- Fill window
Downsample data by applying interval-based aggregates
SELECT
DATE_BIN(INTERVAL '1 hour', time, '2025-01-20T00:00:00Z') as _time,
room,
selector_max(temp, time)['value'] AS 'max temp'
FROM
home
GROUP BY
_time,
'max temp',
room
ORDER BY room, _time
- Copy
- Fill window
Execute an SQL query
Get started with one of the following tools for querying data stored in an InfluxDB Cloud Dedicated database:
influxctl
CLI: Query data from your command-line using theinfluxctl
CLI.influx3
CLI: Query data from your terminal command-line using the Python-basedinflux3
CLI.- InfluxDB 3 client libraries: Use language-specific (Python, Go, etc.) clients to execute queries in your terminal or custom code.
- Grafana: Use the FlightSQL Data Source plugin, to query, connect, and visualize data.
For this example, use the following query to select all the data written to the get-started database between 2025-01-20T08:00:00Z and 2025-01-20T20:00:00Z.
SELECT
*
FROM
home
WHERE
time >= '2025-01-20T08:00:00Z'
AND time <= '2025-01-20T20:00:00Z'
- Copy
- Fill window
Some examples in this getting started tutorial assume your InfluxDB credentials (URL and token) are provided by environment variables.
Use the influxctl query
command
to query the home sensor sample data in your
InfluxDB Cloud Dedicated cluster.
Provide the following:
- Database name to query using the
--database
flag - Database token using the
--token
flag (use theINFLUX_TOKEN
environment variable created in Get started–Set up InfluxDB Cloud Dedicated) - SQL query
influxctl query \
--database get-started \
--token $INFLUX_TOKEN \
"SELECT
*
FROM
home
WHERE
time >= '2025-01-20T08:00:00Z'
AND time <= '2025-01-20T20:00:00Z'"
- Copy
- Fill window
Query using stored credentials
Optionally, you can configure database
and token
query credentials in your influxctl
connection profile.
The --database
and --token
command line flags override credentials in your
configuration file.
Query InfluxDB 3 using SQL and the influx3
CLI.
The following steps include setting up a Python virtual environment already covered in Get started writing data. If your project’s virtual environment is already running, skip to step 3.
-
Create a directory for your project and change into it:
mkdir -p influx3-query-example && cd influx3-query-example
- Copy
- Fill window
-
To create and activate a Python virtual environment, run the following command:
python -m venv envs/virtual-env && . envs/virtual-env/bin/activate
- Copy
- Fill window
-
Install the CLI package (already installed in the Write data section).
pip install influxdb3-python-cli
- Copy
- Fill window
Installing
influxdb3-python-cli
also installs thepyarrow
library for working with Arrow data returned from queries. -
Create the
config.json
configuration.influx3 config create \ --name="config-dedicated" \ --database="get-started" \ --host="cluster-id.a.influxdb.io" \ --token="DATABASE_TOKEN" \ --org="ORG_ID"
- Copy
- Fill window
Replace the following:
DATABASE_TOKEN
: a database token with read access to the get-started databaseORG_ID
: any non-empty string (InfluxDB ignores this parameter, but the client requires it)
-
Enter the
influx3 sql
command and your SQL query statement.influx3 sql "SELECT * FROM home WHERE time >= '2025-01-20T08:00:00Z' AND time <= '2025-01-20T20:00:00Z'"
- Copy
- Fill window
influx3
displays query results in your terminal.
Use the influxdb_client_3
client library module to integrate InfluxDB Cloud Dedicated with your Python code.
The client library supports writing data to InfluxDB and querying data using SQL or InfluxQL.
The following steps include setting up a Python virtual environment already covered in Get started writing data. If your project’s virtual environment is already running, skip to step 3.
-
Open a terminal in the
influxdb_py_client
module directory you created in the Write data section:-
To create and activate your Python virtual environment, enter the following command in your terminal:
python -m venv envs/virtual-env && . ./envs/virtual-env/bin/activate
- Copy
- Fill window
-
Install the following dependencies:
* Already installed in the Write data section
influxdb3-python
*: Provides the InfluxDBinfluxdb_client_3
Python client library module and also installs thepyarrow
package for working with Arrow data returned from queries.pandas
: Providespandas
functions, modules, and data structures for analyzing and manipulating data.tabulate
: Provides thetabulate
function for formatting tabular data. pandas requires this module for formatting data as Markdown.
In your terminal, enter the following command:
pip install influxdb3-python pandas tabulate
- Copy
- Fill window
-
In your terminal or editor, create a new file for your code–for example:
query.py
.
-
-
In
query.py
, enter the following sample code:from influxdb_client_3 import InfluxDBClient3 client = InfluxDBClient3( host=f"cluster-id.a.influxdb.io", token=f"DATABASE_TOKEN", database=f"get-started", ) sql = ''' SELECT * FROM home WHERE time >= '2025-01-20T08:00:00Z' AND time <= '2025-01-20T20:00:00Z' ''' table = client.query(query=sql) assert table.num_rows > 0, "Expect query to return data." assert table['room'], f"Expect ${table} to have room column." print(table.to_pandas().to_markdown())
- Copy
- Fill window
Important: If using Windows, specify the Windows certificate path
When instantiating the client, Python looks for SSL/TLS certificate authority (CA) certificates for verifying the server’s authenticity. If using a non-POSIX-compliant operating system (such as Windows), you need to specify a certificate bundle path that Python can access on your system.
The following example shows how to use the
Python certifi
package and
client library options to provide a bundle of trusted certificates to the
Python Flight client:
-
In your terminal, install the Python
certifi
package.pip install certifi
- Copy
- Fill window
-
In your Python code, import
certifi
and call thecertifi.where()
method to retrieve the certificate path. -
When instantiating the client, pass the
flight_client_options.tls_root_certs=<ROOT_CERT_PATH>
option with the certificate path–for example:from influxdb_client_3 import InfluxDBClient3, flight_client_options import os import certifi fh = open(certifi.where(), "r") cert = fh.read() fh.close() client = InfluxDBClient3( host=f"cluster-id.a.influxdb.io", token=f"DATABASE_TOKEN", database=f"get-started", flight_client_options=flight_client_options( tls_root_certs=cert))
- Copy
- Fill window
For more information, see influxdb_client_3
query exceptions.
The sample code does the following:
-
Imports the
InfluxDBClient3
constructor from theinfluxdb_client_3
module. -
Calls the
InfluxDBClient3()
constructor method with credentials to instantiate an InfluxDBclient
with the following credentials:host
: InfluxDB Cloud Dedicated cluster URL (withouthttps://
protocol or trailing slash)token
: a database token with read access to the specified database. Store this in a secret store or environment variable to avoid exposing the raw token string.database
: the name of the InfluxDB Cloud Dedicated database to query
-
Defines the SQL query to execute and assigns it to a
query
variable. -
Calls the
client.query()
method with the SQL query.query()
sends a Flight request to InfluxDB, queries the database, retrieves result data from the endpoint, and then returns apyarrow.Table
assigned to thetable
variable. -
Calls the
to_pandas()
method to convert the Arrow table to apandas.DataFrame
. -
Calls the
pandas.DataFrame.to_markdown()
method to convert the DataFrame to a markdown table. -
Calls the
print()
method to print the markdown table to stdout. -
Enter the following command to run the program and query your InfluxDB Cloud Dedicated cluster:
python query.py
- Copy
- Fill window
View returned markdown table
co | hum | room | temp | time | |
---|---|---|---|---|---|
0 | 0 | 35.9 | Kitchen | 21 | 2025-01-20 08:00:00 |
1 | 0 | 36.2 | Kitchen | 23 | 2025-01-20 09:00:00 |
2 | 0 | 36.1 | Kitchen | 22.7 | 2025-01-20 10:00:00 |
3 | 0 | 36 | Kitchen | 22.4 | 2025-01-20 11:00:00 |
4 | 0 | 36 | Kitchen | 22.5 | 2025-01-20 12:00:00 |
5 | 1 | 36.5 | Kitchen | 22.8 | 2025-01-20 13:00:00 |
6 | 1 | 36.3 | Kitchen | 22.8 | 2025-01-20 14:00:00 |
7 | 3 | 36.2 | Kitchen | 22.7 | 2025-01-20 15:00:00 |
8 | 7 | 36 | Kitchen | 22.4 | 2025-01-20 16:00:00 |
9 | 9 | 36 | Kitchen | 22.7 | 2025-01-20 17:00:00 |
10 | 18 | 36.9 | Kitchen | 23.3 | 2025-01-20 18:00:00 |
11 | 22 | 36.6 | Kitchen | 23.1 | 2025-01-20 19:00:00 |
12 | 26 | 36.5 | Kitchen | 22.7 | 2025-01-20 20:00:00 |
13 | 0 | 35.9 | Living Room | 21.1 | 2025-01-20 08:00:00 |
14 | 0 | 35.9 | Living Room | 21.4 | 2025-01-20 09:00:00 |
15 | 0 | 36 | Living Room | 21.8 | 2025-01-20 10:00:00 |
16 | 0 | 36 | Living Room | 22.2 | 2025-01-20 11:00:00 |
17 | 0 | 35.9 | Living Room | 22.2 | 2025-01-20 12:00:00 |
18 | 0 | 36 | Living Room | 22.4 | 2025-01-20 13:00:00 |
19 | 0 | 36.1 | Living Room | 22.3 | 2025-01-20 14:00:00 |
20 | 1 | 36.1 | Living Room | 22.3 | 2025-01-20 15:00:00 |
21 | 4 | 36 | Living Room | 22.4 | 2025-01-20 16:00:00 |
22 | 5 | 35.9 | Living Room | 22.6 | 2025-01-20 17:00:00 |
23 | 9 | 36.2 | Living Room | 22.8 | 2025-01-20 18:00:00 |
24 | 14 | 36.3 | Living Room | 22.5 | 2025-01-20 19:00:00 |
25 | 17 | 36.4 | Living Room | 22.2 | 2025-01-20 20:00:00 |
-
In the
influxdb_go_client
directory you created in the Write data section, create a new file namedquery.go
. -
In
query.go
, enter the following sample code:package main import ( "context" "fmt" "io" "os" "time" "text/tabwriter" "github.com/InfluxCommunity/influxdb3-go/v2/influxdb3" ) func Query() error { // INFLUX_TOKEN is an environment variable you created // for your database read token. token := os.Getenv("INFLUX_TOKEN") // Instantiate the client. client, err := influxdb3.New(influxdb3.ClientConfig{ Host: "https://cluster-id.a.influxdb.io", Token: token, Database: "get-started", }) // Close the client when the function returns. defer func(client *influxdb3.Client) { err := client.Close() if err != nil { panic(err) } }(client) // Define the query. query := `SELECT * FROM home WHERE time >= '2025-01-20T08:00:00Z' AND time <= '2025-01-20T20:00:00Z'` // Execute the query. iterator, err := client.Query(context.Background(), query) if err != nil { panic(err) } w := tabwriter.NewWriter(io.Discard, 4, 4, 1, ' ', 0) w.Init(os.Stdout, 0, 8, 0, '\t', 0) fmt.Fprintln(w, "time\troom\ttemp\thum\tco") // Iterate over rows and prints column values in table format. for iterator.Next() { row := iterator.Value() // Use Go time package to format unix timestamp // as a time with timezone layout (RFC3339). time := (row["time"].(time.Time)). Format(time.RFC3339) fmt.Fprintf(w, "%s\t%s\t%d\t%.1f\t%.1f\n", time, row["room"], row["co"], row["hum"], row["temp"]) } w.Flush() return nil }
- Copy
- Fill window
The sample code does the following:
-
Imports the following packages:
context
fmt
io
os
text/tabwriter
github.com/InfluxCommunity/influxdb3-go/v2/influxdb3
-
Defines a
Query()
function that does the following:-
Instantiates
influx.Client
with the following parameters for InfluxDB credentials:Host
: your InfluxDB Cloud Dedicated cluster URLDatabase
: the name of your InfluxDB Cloud Dedicated databaseToken
: a database token with read permission on the specified database. Store this in a secret store or environment variable to avoid exposing the raw token string.
-
Defines a deferred function to close the client after execution.
-
Defines a string variable for the SQL query.
-
Calls the
influxdb3.Client.Query(sql string)
method and passes the SQL string to query InfluxDB. TheQuery(sql string)
method returns aniterator
for data in the response stream. -
Iterates over rows, formats the timestamp as an RFC3339 timestamp, and prints the data in table format to stdout.
-
-
In your editor, open the
main.go
file you created in the Write data section and insert code to call theQuery()
function–for example:package main func main() { WriteLineProtocol() Query() }
- Copy
- Fill window
-
In your terminal, enter the following command to install the necessary packages, build the module, and run the program:
go mod tidy && go run influxdb_go_client
- Copy
- Fill window
The program executes the
main()
function that writes the data and prints the query results to the console.
This tutorial assumes you installed Node.js and npm, and created an influxdb_js_client
npm project as described in the Write data section.
-
In your terminal or editor, change to the
influxdb_js_client
directory you created in the Write data section. -
If you haven’t already, install the
@influxdata/influxdb3-client
JavaScript client library as a dependency to your project:npm install --save @influxdata/influxdb3-client
- Copy
- Fill window
-
Create a file named
query.mjs
. The.mjs
extension tells the Node.js interpreter that you’re using ES6 module syntax. -
Inside of
query.mjs
, enter the following sample code:// query.mjs import {InfluxDBClient} from '@influxdata/influxdb3-client' import {tableFromArrays} from 'apache-arrow'; /** * Set InfluxDB credentials. */ const host = "https://cluster-id.a.influxdb.io"; const database = 'get-started'; /** * INFLUX_TOKEN is an environment variable you assigned to your * database READ token value. */ const token = process.env.INFLUX_TOKEN; /** * Query InfluxDB with SQL using the JavaScript client library. */ export async function querySQL() { /** * Instantiate an InfluxDBClient */ const client = new InfluxDBClient({host, token}) const sql = ` SELECT * FROM home WHERE time >= '2025-01-20T08:00:00Z' AND time <= '2025-01-20T20:00:00Z' ` const data = {time: [], room: [], co: [], hum: [], temp: []}; const result = client.query(query, database); for await (const row of result) { data.time.push(new Date(row._time)) data.room.push(row.room) data.co.push(row.co); data.hum.push(row.hum); data.temp.push(row.temp); } console.table([...tableFromArrays(data)]) client.close() }
- Copy
- Fill window
The sample code does the following:
-
Imports the following:
InfluxDBClient
classtableFromArrays
function
-
Calls
new InfluxDBClient()
and passes aClientOptions
object to instantiate a client configured with InfluxDB credentials.host
: your InfluxDB Cloud Dedicated cluster URLtoken
: a database token with read permission on the database you want to query. Store this in a secret store or environment variable to avoid exposing the raw token string.
-
Defines a string variable (
sql
) for the SQL query. -
Defines an object (
data
) with column names for keys and array values for storing row data. -
Calls the
InfluxDBClient.query()
method with the following arguments:sql
: the query to executedatabase
: the name of the InfluxDB Cloud Dedicated database to query
query()
returns a stream of row vectors. -
Iterates over rows and adds the column data to the arrays in
data
. -
Passes
data
to the ArrowtableFromArrays()
function to format the arrays as a table, and then passes the result to theconsole.table()
method to output a highlighted table in the terminal.
-
Inside of
index.mjs
(created in the Write data section), enter the following sample code to import the modules and call the functions:// index.mjs import { writeLineProtocol } from "./write.mjs"; import { querySQL } from "./query.mjs"; /** * Execute the client functions. */ async function main() { /** Write line protocol data to InfluxDB. */ await writeLineProtocol(); /** Query data from InfluxDB using SQL. */ await querySQL(); } main();
- Copy
- Fill window
-
In your terminal, execute
index.mjs
to write to and query InfluxDB Cloud Dedicated:node index.mjs
- Copy
- Fill window
-
In the
influxdb_csharp_client
directory you created in the Write data section, create a new file namedQuery.cs
. -
In
Query.cs
, enter the following sample code:// Query.cs using System; using System.Threading.Tasks; using InfluxDB3.Client; using InfluxDB3.Client.Query; namespace InfluxDBv3; public class Query { /** * Queries an InfluxDB database using the C# .NET client * library. **/ public static async Task QuerySQL() { /** INFLUX_TOKEN is an environment variable you assigned to your * database READ token value. **/ string? token = System.Environment .GetEnvironmentVariable("INFLUX_TOKEN"); /** * Instantiate the InfluxDB client with credentials. **/ using var client = new InfluxDBClient( "https://cluster-id.a.influxdb.io", token: token, database: database); const string sql = @" SELECT time, room, temp, hum, co FROM home WHERE time >= '2025-01-20T08:00:00Z' AND time <= '2025-01-20T20:00:00Z' "; Console.WriteLine("{0,-30}{1,-15}{2,-15}{3,-15}{4,-15}", "time", "room", "co", "hum", "temp"); await foreach (var row in client.Query(query: sql)) { { /** * Iterate over rows and print column values in table format. * Format the timestamp as sortable UTC format. */ Console.WriteLine("{0,-30:u}{1,-15}{4,-15}{3,-15}{2,-15}", row[0], row[1], row[2], row[3], row[4]); } } Console.WriteLine(); } }
- Copy
- Fill window
The sample code does the following:
-
Imports the following classes:
System
System.Threading.Tasks
;InfluxDB3.Client
;InfluxDB3.Client.Query
;
-
Defines a
Query
class with aQuerySQL()
method that does the following:-
Calls the
new InfluxDBClient()
constructor to instantiate a client configured with InfluxDB credentials.host
: your InfluxDB Cloud Dedicated cluster URL.database
: the name of the InfluxDB Cloud Dedicated database to querytoken
: a database token with read permission on the specified database. Store this in a secret store or environment variable to avoid exposing the raw token string.
-
Defines a string variable for the SQL query.
-
Calls the
InfluxDBClient.Query()
method to send the query request with the SQL string.Query()
returns batches of rows from the response stream as a two-dimensional array–an array of rows in which each row is an array of values. -
Iterates over rows and prints the data in table format to stdout.
-
-
In your editor, open the
Program.cs
file you created in the Write data section and insert code to call theQuery()
function–for example:// Program.cs using System; using System.Threading.Tasks; namespace InfluxDBv3; public class Program { public static async Task Main() { await Write.WriteLineProtocol(); await Query.QuerySQL(); } }
- Copy
- Fill window
-
To build and execute the program and query InfluxDB Cloud Dedicated, enter the following commands in your terminal:
dotnet run
- Copy
- Fill window
This tutorial assumes using Maven version 3.9, Java version >= 15, and an influxdb_java_client
Maven project created in the Write data section.
-
In your terminal or editor, change to the
influxdb_java_client
directory you created in the Write data section. -
Inside of the
src/main/java/com/influxdbv3
directory, create a new file namedQuery.java
. -
In
Query.java
, enter the following sample code:// Query.java package com.influxdbv3; import com.influxdb.v3.client.InfluxDBClient; import java.util.stream.Stream; /** * Queries an InfluxDB database using the Java client * library. **/ public final class Query { private Query() { //not called } /** * @throws Exception */ public static void querySQL() throws Exception { /** * Query using SQL. */ /** Set InfluxDB credentials. **/ final String host = "https://cluster-id.a.influxdb.io"; final String database = "get-started"; /** INFLUX_TOKEN is an environment variable you assigned to your * database READ token value. **/ final char[] token = (System.getenv("INFLUX_TOKEN")). toCharArray(); try (InfluxDBClient client = InfluxDBClient.getInstance(host, token, database)) { String sql = """ SELECT time, room, temp, hum, co FROM home WHERE time >= '2025-01-20T08:00:00Z' AND time <= '2025-01-20T20:00:00Z'"""; String layoutHead = "| %-16s | %-12s | %-6s | %-6s | %-6s |%n"; System.out.printf( "--------------------------------------------------------%n"); System.out.printf(layoutHead, "time", "room", "co", "hum", "temp"); System.out.printf( "--------------------------------------------------------%n"); String layout = "| %-16s | %-12s | %-6s | %.1f | %.1f |%n"; try (Stream<Object[]> stream = client.query(sql)) { stream.forEach(row -> System.out.printf(layout, row[0], row[1], row[4], row[3], row[2]) ); } } } }
- Copy
- Fill window
The sample code does the following:
-
Assigns the
com.influxdbv3
package name (the Maven groupId). -
Imports the following classes:
com.influxdb.v3.client.InfluxDBClient
java.util.stream.Stream
-
Defines a
Query
class with aquerySQL()
method that does the following:-
Calls
InfluxDBClient.getInstance()
to instantiate a client configured with InfluxDB credentials.host
: your InfluxDB Cloud Dedicated cluster URLdatabase
: the name of the InfluxDB Cloud Dedicated database to write totoken
: a database token with read permission on the specified database. Store this in a secret store or environment variable to avoid exposing the raw token string.
-
Defines a string variable (
sql
) for the SQL query. -
Defines a Markdown table format layout for headings and data rows.
-
Calls the
InfluxDBClient.query()
method to send the query request with the SQL string.query()
returns a stream of rows. -
Iterates over rows and prints the data in the specified layout to stdout.
-
-
In your editor, open the
src/main/java/com/influxdbv3/App.java
file and replace its contents with the following sample code:// App.java package com.influxdbv3; /** * Execute the client functions. * */ public class App { /** * @param args * @throws Exception */ public static void main(final String[] args) throws Exception { // Write data to InfluxDB 3. Write.writeLineProtocol(); // Run the SQL query. Query.querySQL(); } }
- Copy
- Fill window
- The
App
,Write
, andQuery
classes belong to thecom.influxdbv3
package (your project groupId). App
defines amain()
function that callsWrite.writeLineProtocol()
andQuery.querySQL()
.
-
In your terminal or editor, use Maven to install dependencies and compile the project code–for example:
mvn compile
- Copy
- Fill window
-
Set the
--add-opens=java.base/java.nio=ALL-UNNAMED
Java option for your environment. The Apache Arrow Flight library requires this setting for access to the java.nio API package.For example, enter the following command in your terminal:
Linux/MacOS
export MAVEN_OPTS="--add-opens=java.base/java.nio=ALL-UNNAMED"
- Copy
- Fill window
Windows PowerShell
$env:MAVEN_OPTS="--add-opens=java.base/java.nio=ALL-UNNAMED"
- Copy
- Fill window
-
To run the app to write to and query InfluxDB Cloud Dedicated, execute
App.main()
–for example, using Maven:mvn exec:java -Dexec.mainClass="com.influxdbv3.App"
- Copy
- Fill window
Query results
View query results
time | room | co | hum | temp |
---|---|---|---|---|
2025-01-20T08:00:00Z | Kitchen | 0 | 35.9 | 21 |
2025-01-20T09:00:00Z | Kitchen | 0 | 36.2 | 23 |
2025-01-20T10:00:00Z | Kitchen | 0 | 36.1 | 22.7 |
2025-01-20T11:00:00Z | Kitchen | 0 | 36 | 22.4 |
2025-01-20T12:00:00Z | Kitchen | 0 | 36 | 22.5 |
2025-01-20T13:00:00Z | Kitchen | 1 | 36.5 | 22.8 |
2025-01-20T14:00:00Z | Kitchen | 1 | 36.3 | 22.8 |
2025-01-20T15:00:00Z | Kitchen | 3 | 36.2 | 22.7 |
2025-01-20T16:00:00Z | Kitchen | 7 | 36 | 22.4 |
2025-01-20T17:00:00Z | Kitchen | 9 | 36 | 22.7 |
2025-01-20T18:00:00Z | Kitchen | 18 | 36.9 | 23.3 |
2025-01-20T19:00:00Z | Kitchen | 22 | 36.6 | 23.1 |
2025-01-20T20:00:00Z | Kitchen | 26 | 36.5 | 22.7 |
2025-01-20T08:00:00Z | Living Room | 0 | 35.9 | 21.1 |
2025-01-20T09:00:00Z | Living Room | 0 | 35.9 | 21.4 |
2025-01-20T10:00:00Z | Living Room | 0 | 36 | 21.8 |
2025-01-20T11:00:00Z | Living Room | 0 | 36 | 22.2 |
2025-01-20T12:00:00Z | Living Room | 0 | 35.9 | 22.2 |
2025-01-20T13:00:00Z | Living Room | 0 | 36 | 22.4 |
2025-01-20T14:00:00Z | Living Room | 0 | 36.1 | 22.3 |
2025-01-20T15:00:00Z | Living Room | 1 | 36.1 | 22.3 |
2025-01-20T16:00:00Z | Living Room | 4 | 36 | 22.4 |
2025-01-20T17:00:00Z | Living Room | 5 | 35.9 | 22.6 |
2025-01-20T18:00:00Z | Living Room | 9 | 36.2 | 22.8 |
2025-01-20T19:00:00Z | Living Room | 14 | 36.3 | 22.5 |
2025-01-20T20:00:00Z | Living Room | 17 | 36.4 | 22.2 |
Congratulations! You’ve learned the basics of querying data in InfluxDB with SQL. For a deep dive into all the ways you can query InfluxDB Cloud Dedicated, see the Query data in InfluxDB section of documentation.
Was this page helpful?
Thank you for your feedback!
Support and feedback
Thank you for being part of our community! We welcome and encourage your feedback and bug reports for InfluxDB Cloud Dedicated and this documentation. To find support, use the following resources:
Customers with an annual or support contract can contact InfluxData Support.