public interface Connection
Modifier and Type | Method and Description |
---|---|
boolean |
close()
Sends a query cancel request.
|
BigQueryDryRunResult |
dryRun(String sql)
Execute a query dry run that returns information on the schema and query parameters of the
query results.
|
BigQueryResult |
executeSelect(String sql)
Execute a SQL statement that returns a single ResultSet.
|
BigQueryResult |
executeSelect(String sql,
List<Parameter> parameters,
Map<String,String>... labels)
This method executes a SQL SELECT query
|
com.google.common.util.concurrent.ListenableFuture<ExecuteSelectResponse> |
executeSelectAsync(String sql)
Execute a SQL statement that returns a single ResultSet and returns a ListenableFuture to
process the response asynchronously.
|
com.google.common.util.concurrent.ListenableFuture<ExecuteSelectResponse> |
executeSelectAsync(String sql,
List<Parameter> parameters,
Map<String,String>... labels)
Execute a SQL statement that returns a single ResultSet and returns a ListenableFuture to
process the response asynchronously.
|
@BetaApi boolean close() throws BigQuerySQLException
BigQuerySQLException
@BetaApi BigQueryDryRunResult dryRun(String sql) throws BigQuerySQLException
sql
- typically a static SQL SELECT statementBigQuerySQLException
- if a database access error occurs@BetaApi BigQueryResult executeSelect(String sql) throws BigQuerySQLException
Example of running a query.
{ @code ConnectionSettings connectionSettings = ConnectionSettings.newBuilder() .setRequestTimeout(10L) .setMaxResults(100L) .setUseQueryCache(true) .build(); Connection connection = bigquery.createConnection(connectionSettings); String selectQuery = "SELECT corpus FROM `bigquery-public-data.samples.shakespeare` GROUP BY corpus;"; BigQueryResult bqResultSet = connection.executeSelect(selectQuery) ResultSet rs = bqResultSet.getResultSet(); while (rs.next()) { System.out.printf("%s,", rs.getString("corpus")); }
sql
- a static SQL SELECT statementBigQuerySQLException
- if a database access error occurs@BetaApi BigQueryResult executeSelect(String sql, List<Parameter> parameters, Map<String,String>... labels) throws BigQuerySQLException
sql
- SQL SELECT queryparameters
- named or positional parameters. The set of query parameters must either be
all positional or all named parameters.labels
- (optional) the labels associated with this query. You can use these to organize
and group your query jobs. Label keys and values can be no longer than 63 characters, can
only contain lowercase letters, numeric characters, underscores and dashes. International
characters are allowed. Label values are optional and Label is a Varargs. You should pass
all the Labels in a single Map .Label keys must start with a letter and each label in the
list must have a different key.BigQuerySQLException
@BetaApi com.google.common.util.concurrent.ListenableFuture<ExecuteSelectResponse> executeSelectAsync(String sql) throws BigQuerySQLException
Example of running a query.
{ @code ConnectionSettings connectionSettings = ConnectionSettings.newBuilder() .setUseReadAPI(true) .build(); Connection connection = bigquery.createConnection(connectionSettings); String selectQuery = "SELECT corpus FROM `bigquery-public-data.samples.shakespeare` GROUP BY corpus;"; ListenableFutureexecuteSelectFuture = connection.executeSelectAsync(selectQuery); ExecuteSelectResponse executeSelectRes = executeSelectFuture.get(); if(!executeSelectRes.getIsSuccessful()){ throw executeSelectRes.getBigQuerySQLException(); } BigQueryResult bigQueryResult = executeSelectRes.getBigQueryResult(); ResultSet rs = bigQueryResult.getResultSet(); while (rs.next()) { System.out.println(rs.getString(1)); }
sql
- a static SQL SELECT statementBigQuerySQLException
- upon failure@BetaApi com.google.common.util.concurrent.ListenableFuture<ExecuteSelectResponse> executeSelectAsync(String sql, List<Parameter> parameters, Map<String,String>... labels) throws BigQuerySQLException
Example of running a query.
{ @code ConnectionSettings connectionSettings = ConnectionSettings.newBuilder() ..setUseReadAPI(true) .build(); Connection connection = bigquery.createConnection(connectionSettings); String selectQuery = "SELECT TimestampField, StringField, BooleanField FROM " + MY_TABLE + " WHERE StringField = @stringParam" + " AND IntegerField IN UNNEST(@integerList)"; QueryParameterValue stringParameter = QueryParameterValue.string("stringValue"); QueryParameterValue intArrayParameter = QueryParameterValue.array(new Integer[] {3, 4}, Integer.class); Parameter stringParam = Parameter.newBuilder().setName("stringParam").setValue(stringParameter).build(); Parameter intArrayParam = Parameter.newBuilder().setName("integerList").setValue(intArrayParameter).build(); Listparameters = ImmutableList.of(stringParam, intArrayParam); ListenableFuture executeSelectFut = connection.executeSelectAsync(selectQuery, parameters); ExecuteSelectResponse executeSelectRes = executeSelectFuture.get(); if(!executeSelectRes.getIsSuccessful()){ throw executeSelectRes.getBigQuerySQLException(); } BigQueryResult bigQueryResult = executeSelectRes.getBigQueryResult(); ResultSet rs = bigQueryResult.getResultSet(); while (rs.next()) { System.out.println(rs.getString(1)); }
sql
- SQL SELECT queryparameters
- named or positional parameters. The set of query parameters must either be
all positional or all named parameters.labels
- (optional) the labels associated with this query. You can use these to organize
and group your query jobs. Label keys and values can be no longer than 63 characters, can
only contain lowercase letters, numeric characters, underscores and dashes. International
characters are allowed. Label values are optional and Label is a Varargs. You should pass
all the Labels in a single Map .Label keys must start with a letter and each label in the
list must have a different key.BigQuerySQLException
- upon failureCopyright © 2023 Google LLC. All rights reserved.