Interface BigQuery
-
- All Superinterfaces:
com.google.cloud.Service<BigQueryOptions>
public interface BigQuery extends com.google.cloud.Service<BigQueryOptions>
An interface for Google Cloud BigQuery.- See Also:
- Google Cloud BigQuery
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
BigQuery.DatasetDeleteOption
Class for specifying dataset delete options.static class
BigQuery.DatasetField
Fields of a BigQuery Dataset resource.static class
BigQuery.DatasetListOption
Class for specifying dataset list options.static class
BigQuery.DatasetOption
Class for specifying dataset get, create and update options.static class
BigQuery.IAMOption
static class
BigQuery.JobField
Fields of a BigQuery Job resource.static class
BigQuery.JobListOption
Class for specifying job list options.static class
BigQuery.JobOption
Class for specifying table get and create options.static class
BigQuery.ModelField
Fields of a BigQuery Model resource.static class
BigQuery.ModelListOption
Class for specifying table list options.static class
BigQuery.ModelOption
Class for specifying model get, create and update options.static class
BigQuery.QueryOption
static class
BigQuery.QueryResultsOption
Class for specifying query results options.static class
BigQuery.RoutineField
Fields of a BigQuery Routine resource.static class
BigQuery.RoutineListOption
Class for specifying routine list options.static class
BigQuery.RoutineOption
Class for specifying table get, create and update options.static class
BigQuery.TableDataListOption
Class for specifying table data list options.static class
BigQuery.TableField
Fields of a BigQuery Table resource.static class
BigQuery.TableListOption
Class for specifying table list options.static class
BigQuery.TableMetadataView
Metadata of a BigQuery Table.static class
BigQuery.TableOption
Class for specifying table get, create and update options.
-
Method Summary
All Methods Instance Methods Abstract Methods Deprecated Methods Modifier and Type Method Description boolean
cancel(JobId jobId)
Sends a job cancel request.boolean
cancel(String jobId)
Sends a job cancel request.Dataset
create(DatasetInfo datasetInfo, BigQuery.DatasetOption... options)
Creates a new dataset.Job
create(JobInfo jobInfo, BigQuery.JobOption... options)
Creates a new job.Routine
create(RoutineInfo routineInfo, BigQuery.RoutineOption... options)
Creates a new routine.Table
create(TableInfo tableInfo, BigQuery.TableOption... options)
Creates a new table.Connection
createConnection()
Creates a new BigQuery query connection used for executing queries (not the same as BigQuery connection properties).Connection
createConnection(@NonNull ConnectionSettings connectionSettings)
Creates a new BigQuery query connection used for executing queries (not the same as BigQuery connection properties).boolean
delete(DatasetId datasetId, BigQuery.DatasetDeleteOption... options)
Deletes the requested dataset.boolean
delete(JobId jobId)
Deletes the requested job.boolean
delete(ModelId modelId)
Deletes the requested model.boolean
delete(RoutineId routineId)
Deletes the requested routine.boolean
delete(TableId tableId)
Deletes the requested table.boolean
delete(String datasetId, BigQuery.DatasetDeleteOption... options)
Deletes the requested dataset.boolean
delete(String datasetId, String tableId)
Deprecated.Now that BigQuery datasets contain multiple resource types, this invocation is ambiguous.Dataset
getDataset(DatasetId datasetId, BigQuery.DatasetOption... options)
Returns the requested dataset ornull
if not found.Dataset
getDataset(String datasetId, BigQuery.DatasetOption... options)
Returns the requested dataset ornull
if not found.com.google.cloud.Policy
getIamPolicy(TableId tableId, BigQuery.IAMOption... options)
Gets the IAM policy for a specified table.Job
getJob(JobId jobId, BigQuery.JobOption... options)
Returns the requested job ornull
if not found.Job
getJob(String jobId, BigQuery.JobOption... options)
Returns the requested job ornull
if not found.Model
getModel(ModelId tableId, BigQuery.ModelOption... options)
Returns the requested model ornull
if not found.Model
getModel(String datasetId, String modelId, BigQuery.ModelOption... options)
Returns the requested model ornull
if not found.QueryResponse
getQueryResults(JobId jobId, BigQuery.QueryResultsOption... options)
Returns results of the query associated with the provided job.Routine
getRoutine(RoutineId routineId, BigQuery.RoutineOption... options)
Returns the requested routine ornull
if not found.Routine
getRoutine(String datasetId, String routineId, BigQuery.RoutineOption... options)
Returns the requested routine ornull
if not found.Table
getTable(TableId tableId, BigQuery.TableOption... options)
Returns the requested table ornull
if not found.Table
getTable(String datasetId, String tableId, BigQuery.TableOption... options)
Returns the requested table ornull
if not found.InsertAllResponse
insertAll(InsertAllRequest request)
Sends an insert all request.com.google.api.gax.paging.Page<Dataset>
listDatasets(BigQuery.DatasetListOption... options)
Lists the project's datasets.com.google.api.gax.paging.Page<Dataset>
listDatasets(String projectId, BigQuery.DatasetListOption... options)
Lists the datasets in the provided project.com.google.api.gax.paging.Page<Job>
listJobs(BigQuery.JobListOption... options)
Lists the jobs.com.google.api.gax.paging.Page<Model>
listModels(DatasetId datasetId, BigQuery.ModelListOption... options)
Lists the models in the dataset.com.google.api.gax.paging.Page<Model>
listModels(String datasetId, BigQuery.ModelListOption... options)
Lists the models in the dataset.List<String>
listPartitions(TableId tableId)
com.google.api.gax.paging.Page<Routine>
listRoutines(DatasetId datasetId, BigQuery.RoutineListOption... options)
Lists the routines in the specified dataset.com.google.api.gax.paging.Page<Routine>
listRoutines(String datasetId, BigQuery.RoutineListOption... options)
Lists the routines in the specified dataset.TableResult
listTableData(TableId tableId, BigQuery.TableDataListOption... options)
Lists the table's rows.TableResult
listTableData(TableId tableId, Schema schema, BigQuery.TableDataListOption... options)
Lists the table's rows.TableResult
listTableData(String datasetId, String tableId, BigQuery.TableDataListOption... options)
Lists the table's rows.TableResult
listTableData(String datasetId, String tableId, Schema schema, BigQuery.TableDataListOption... options)
Lists the table's rows.com.google.api.gax.paging.Page<Table>
listTables(DatasetId datasetId, BigQuery.TableListOption... options)
Lists the tables in the dataset.com.google.api.gax.paging.Page<Table>
listTables(String datasetId, BigQuery.TableListOption... options)
Lists the tables in the dataset.TableResult
query(QueryJobConfiguration configuration, BigQuery.JobOption... options)
Runs the query associated with the request, using an internally-generated random JobId.TableResult
query(QueryJobConfiguration configuration, JobId jobId, BigQuery.JobOption... options)
Runs the query associated with the request, using the given JobId.com.google.cloud.Policy
setIamPolicy(TableId tableId, com.google.cloud.Policy policy, BigQuery.IAMOption... options)
Sets the IAM policy for a specified table.List<String>
testIamPermissions(TableId table, List<String> permissions, BigQuery.IAMOption... options)
Tests whether the caller holds specific permissions on a BigQuery table.Dataset
update(DatasetInfo datasetInfo, BigQuery.DatasetOption... options)
Updates dataset information.Model
update(ModelInfo modelInfo, BigQuery.ModelOption... options)
Updates model information.Routine
update(RoutineInfo routineInfo, BigQuery.RoutineOption... options)
Updates routine information.Table
update(TableInfo tableInfo, BigQuery.TableOption... options)
Updates table information.TableDataWriteChannel
writer(JobId jobId, WriteChannelConfiguration writeChannelConfiguration)
Returns a channel to write data to be inserted into a BigQuery table.TableDataWriteChannel
writer(WriteChannelConfiguration writeChannelConfiguration)
Returns a channel to write data to be inserted into a BigQuery table.
-
-
-
Method Detail
-
create
Dataset create(DatasetInfo datasetInfo, BigQuery.DatasetOption... options)
Creates a new dataset.Example of creating a dataset.
{ @code String datasetName = "my_dataset_name"; Dataset dataset = null; DatasetInfo datasetInfo = DatasetInfo.newBuilder(datasetName).build(); try { // the dataset was created dataset = bigquery.create(datasetInfo); } catch (BigQueryException e) { // the dataset was not created } }
- Throws:
BigQueryException
- upon failure
-
create
Table create(TableInfo tableInfo, BigQuery.TableOption... options)
Creates a new table.Example of creating a table.
{ @code String datasetName = "my_dataset_name"; String tableName = "my_table_name"; String fieldName = "string_field"; TableId tableId = TableId.of(datasetName, tableName); // Table field definition Field field = Field.of(fieldName, LegacySQLTypeName.STRING); // Table schema definition Schema schema = Schema.of(field); TableDefinition tableDefinition = StandardTableDefinition.of(schema); TableInfo tableInfo = TableInfo.newBuilder(tableId, tableDefinition).build(); Table table = bigquery.create(tableInfo); }
- Throws:
BigQueryException
- upon failure
-
create
Routine create(RoutineInfo routineInfo, BigQuery.RoutineOption... options)
Creates a new routine.- Throws:
BigQueryException
- upon failure
-
create
Job create(JobInfo jobInfo, BigQuery.JobOption... options)
Creates a new job.Example of loading a newline-delimited-json file with textual fields from GCS to a table.
{ @code String datasetName = "my_dataset_name"; String tableName = "my_table_name"; String sourceUri = "gs://cloud-samples-data/bigquery/us-states/us-states.json"; TableId tableId = TableId.of(datasetName, tableName); // Table field definition Field[] fields = new Field[] { Field.of("name", LegacySQLTypeName.STRING), Field.of("post_abbr", LegacySQLTypeName.STRING) }; // Table schema definition Schema schema = Schema.of(fields); LoadJobConfiguration configuration = LoadJobConfiguration.builder(tableId, sourceUri) .setFormatOptions(FormatOptions.json()).setCreateDisposition(CreateDisposition.CREATE_IF_NEEDED) .setSchema(schema).build(); // Load the table Job loadJob = bigquery.create(JobInfo.of(configuration)); loadJob = loadJob.waitFor(); // Check the table System.out.println("State: " + loadJob.getStatus().getState()); return ((StandardTableDefinition) bigquery.getTable(tableId).getDefinition()).getNumRows(); }
Example of creating a query job.
{ @code String query = "SELECT field FROM my_dataset_name.my_table_name"; Job job = null; JobConfiguration jobConfiguration = QueryJobConfiguration.of(query); JobInfo jobInfo = JobInfo.of(jobConfiguration); try { job = bigquery.create(jobInfo); } catch (BigQueryException e) { // the job was not created } }
- Throws:
BigQueryException
- upon failure
-
createConnection
@BetaApi Connection createConnection(@NonNull ConnectionSettings connectionSettings)
Creates a new BigQuery query connection used for executing queries (not the same as BigQuery connection properties). It uses the BigQuery Storage Read API for high throughput queries by default.Example of creating a query connection.
{ @code ConnectionSettings connectionSettings = ConnectionSettings.newBuilder() .setRequestTimeout(10L) .setMaxResults(100L) .setUseQueryCache(true) .build(); Connection connection = bigquery.createConnection(connectionSettings); }
- Parameters:
connectionSettings
-- Throws:
BigQueryException
- upon failure
-
createConnection
@BetaApi Connection createConnection()
Creates a new BigQuery query connection used for executing queries (not the same as BigQuery connection properties). It uses the BigQuery Storage Read API for high throughput queries by default. This overloaded method creates a Connection with default ConnectionSettings for query execution where default values are set for numBufferedRows (20000), useReadApi (true), useLegacySql (false).Example of creating a query connection.
{ @code Connection connection = bigquery.createConnection(); }
- Throws:
BigQueryException
- upon failure
-
getDataset
Dataset getDataset(String datasetId, BigQuery.DatasetOption... options)
Returns the requested dataset ornull
if not found.Example of getting a dataset.
{ @code String datasetName = "my_dataset"; Dataset dataset = bigquery.getDataset(datasetName); }
- Throws:
BigQueryException
- upon failure
-
getDataset
Dataset getDataset(DatasetId datasetId, BigQuery.DatasetOption... options)
Returns the requested dataset ornull
if not found.Example of getting a dataset.
{ @code String projectId = "my_project_id"; String datasetName = "my_dataset_name"; DatasetId datasetId = DatasetId.of(projectId, datasetName); Dataset dataset = bigquery.getDataset(datasetId); }
- Throws:
BigQueryException
- upon failure
-
listDatasets
com.google.api.gax.paging.Page<Dataset> listDatasets(BigQuery.DatasetListOption... options)
Lists the project's datasets. This method returns partial information on each dataset: (DatasetInfo.getDatasetId()
,DatasetInfo.getFriendlyName()
andDatasetInfo.getGeneratedId()
). To get complete information use eithergetDataset(String, DatasetOption...)
orgetDataset(DatasetId, DatasetOption...)
.Example of listing datasets, specifying the page size.
{ @code // List datasets in the default project Page<Dataset> datasets = bigquery.listDatasets(DatasetListOption.pageSize(100)); for (Dataset dataset : datasets.iterateAll()) { // do something with the dataset } }
- Throws:
BigQueryException
- upon failure
-
listDatasets
com.google.api.gax.paging.Page<Dataset> listDatasets(String projectId, BigQuery.DatasetListOption... options)
Lists the datasets in the provided project. This method returns partial information on each dataset: (DatasetInfo.getDatasetId()
,DatasetInfo.getFriendlyName()
andDatasetInfo.getGeneratedId()
). To get complete information use eithergetDataset(String, DatasetOption...)
orgetDataset(DatasetId, DatasetOption...)
.Example of listing datasets in a project, specifying the page size.
{ @code String projectId = "my_project_id"; // List datasets in a specified project Page<
Dataset
> datasets = bigquery.listDatasets(projectId, DatasetListOption.pageSize(100)); for (Dataset dataset : datasets.iterateAll()) { // do something with the dataset } }- Throws:
BigQueryException
- upon failure
-
delete
boolean delete(String datasetId, BigQuery.DatasetDeleteOption... options)
Deletes the requested dataset.Example of deleting a dataset from its id, even if non-empty.
{ @code String datasetName = "my_dataset_name"; boolean deleted = bigquery.delete(datasetName, DatasetDeleteOption.deleteContents()); if (deleted) { // the dataset was deleted } else { // the dataset was not found } }
- Returns:
true
if dataset was deleted,false
if it was not found- Throws:
BigQueryException
- upon failure
-
delete
boolean delete(DatasetId datasetId, BigQuery.DatasetDeleteOption... options)
Deletes the requested dataset.Example of deleting a dataset, even if non-empty.
{ @code String projectId = "my_project_id"; String datasetName = "my_dataset_name"; DatasetId datasetId = DatasetId.of(projectId, datasetName); boolean deleted = bigquery.delete(datasetId, DatasetDeleteOption.deleteContents()); if (deleted) { // the dataset was deleted } else { // the dataset was not found } }
- Returns:
true
if dataset was deleted,false
if it was not found- Throws:
BigQueryException
- upon failure
-
delete
@Deprecated boolean delete(String datasetId, String tableId)
Deprecated.Now that BigQuery datasets contain multiple resource types, this invocation is ambiguous. Please use more strongly typed version of#delete
that leverages an non-ambiguous resource type identifier such asTableId
.Deletes the requested table.- Returns:
true
if table was deleted,false
if it was not found- Throws:
BigQueryException
- upon failure
-
delete
boolean delete(TableId tableId)
Deletes the requested table.Example of deleting a table.
{ @code String projectId = "my_project_id"; String datasetName = "my_dataset_name"; String tableName = "my_table_name"; TableId tableId = TableId.of(projectId, datasetName, tableName); boolean deleted = bigquery.delete(tableId); if (deleted) { // the table was deleted } else { // the table was not found } }
- Returns:
true
if table was deleted,false
if it was not found- Throws:
BigQueryException
- upon failure
-
delete
boolean delete(ModelId modelId)
Deletes the requested model.Example of deleting a model.
{ @code String projectId = "my_project_id"; String datasetName = "my_dataset_name"; String tableName = "my_model_name"; ModelId modelId = ModelId.of(projectId, datasetName, modelName); boolean deleted = bigquery.delete(modelId); if (deleted) { // the model was deleted } else { // the model was not found } }
- Returns:
true
if model was deleted,false
if it was not found- Throws:
BigQueryException
- upon failure
-
delete
boolean delete(RoutineId routineId)
Deletes the requested routine.Example of deleting a routine.
String projectId = "my_project_id"; String datasetId = "my_dataset_id"; String routineId = "my_routine_id"; RoutineId routineId = RoutineId.of(projectId, datasetId, routineId); boolean deleted = bigquery.delete(routineId); if (deleted) { // the routine was deleted } else { // the routine was not found }
- Returns:
true
if routine was deleted,false
if it was not found- Throws:
BigQueryException
- upon failure
-
delete
boolean delete(JobId jobId)
Deletes the requested job.- Returns:
true
if job was deleted,false
if it was not found- Throws:
BigQueryException
- upon failure
-
update
Dataset update(DatasetInfo datasetInfo, BigQuery.DatasetOption... options)
Updates dataset information.Example of updating a dataset by changing its description.
{ @code // String datasetName = "my_dataset_name"; // String tableName = "my_table_name"; // String newDescription = "new_description"; Table beforeTable = bigquery.getTable(datasetName, tableName); TableInfo tableInfo = beforeTable.toBuilder().setDescription(newDescription).build(); Table afterTable = bigquery.update(tableInfo); }
- Throws:
BigQueryException
- upon failure
-
update
Table update(TableInfo tableInfo, BigQuery.TableOption... options)
Updates table information.Example of updating a table by changing its description.
{ @code String datasetName = "my_dataset_name"; String tableName = "my_table_name"; String newDescription = "new_description"; Table beforeTable = bigquery.getTable(datasetName, tableName); TableInfo tableInfo = beforeTable.toBuilder().setDescription(newDescription).build(); Table afterTable = bigquery.update(tableInfo); }
Example of updating a table by changing its expiration.
{ @code String datasetName = "my_dataset_name"; String tableName = "my_table_name"; Table beforeTable = bigquery.getTable(datasetName, tableName); // Set table to expire 5 days from now. long expirationMillis = DateTime.now().plusDays(5).getMillis(); TableInfo tableInfo = beforeTable.toBuilder().setExpirationTime(expirationMillis).build(); Table afterTable = bigquery.update(tableInfo); }
- Throws:
BigQueryException
- upon failure
-
update
Model update(ModelInfo modelInfo, BigQuery.ModelOption... options)
Updates model information.Example of updating a model by changing its description.
{ @code String datasetName = "my_dataset_name"; String modelName = "my_model_name"; String newDescription = "new_description"; Model beforeModel = bigquery.getModel(datasetName, modelName); ModelInfo modelInfo = beforeModel.toBuilder().setDescription(newDescription).build(); Model afterModel = bigquery.update(modelInfo); }
Example of updating a model by changing its expiration.
{ @code String datasetName = "my_dataset_name"; String modelName = "my_model_name"; Model beforeModel = bigquery.getModel(datasetName, modelName); // Set model to expire 5 days from now. long expirationMillis = DateTime.now().plusDays(5).getMillis(); ModelInfo modelInfo = beforeModel.toBuilder().setExpirationTime(expirationMillis).build(); Model afterModel = bigquery.update(modelInfo); }
- Throws:
BigQueryException
- upon failure
-
update
Routine update(RoutineInfo routineInfo, BigQuery.RoutineOption... options)
Updates routine information.- Throws:
BigQueryException
- upon failure
-
getTable
Table getTable(String datasetId, String tableId, BigQuery.TableOption... options)
Returns the requested table ornull
if not found.Example of getting a table.
{ @code String datasetName = "my_dataset_name"; String tableName = "my_table_name"; Table table = bigquery.getTable(datasetName, tableName); }
- Throws:
BigQueryException
- upon failure
-
getTable
Table getTable(TableId tableId, BigQuery.TableOption... options)
Returns the requested table ornull
if not found.Example of getting a table.
{ @code String projectId = "my_project_id"; String datasetName = "my_dataset_name"; String tableName = "my_table_name"; TableId tableId = TableId.of(projectId, datasetName, tableName); Table table = bigquery.getTable(tableId); }
- Throws:
BigQueryException
- upon failure
-
getModel
Model getModel(String datasetId, String modelId, BigQuery.ModelOption... options)
Returns the requested model ornull
if not found.- Throws:
BigQueryException
- upon failure
-
getModel
Model getModel(ModelId tableId, BigQuery.ModelOption... options)
Returns the requested model ornull
if not found.Example of getting a model.
{ @code String projectId = "my_project_id"; String datasetName = "my_dataset_name"; String modelName = "my_model_name"; ModelId modelId = ModelId.of(projectId, datasetName, tableName); Model model = bigquery.getModel(modelId); }
- Throws:
BigQueryException
- upon failure
-
getRoutine
Routine getRoutine(String datasetId, String routineId, BigQuery.RoutineOption... options)
Returns the requested routine ornull
if not found.- Throws:
BigQueryException
- upon failure
-
getRoutine
Routine getRoutine(RoutineId routineId, BigQuery.RoutineOption... options)
Returns the requested routine ornull
if not found.- Throws:
BigQueryException
- upon failure
-
listRoutines
com.google.api.gax.paging.Page<Routine> listRoutines(String datasetId, BigQuery.RoutineListOption... options)
Lists the routines in the specified dataset.
-
listRoutines
com.google.api.gax.paging.Page<Routine> listRoutines(DatasetId datasetId, BigQuery.RoutineListOption... options)
Lists the routines in the specified dataset.
-
listTables
com.google.api.gax.paging.Page<Table> listTables(String datasetId, BigQuery.TableListOption... options)
Lists the tables in the dataset. This method returns partial information on each table: (TableInfo.getTableId()
,TableInfo.getFriendlyName()
,TableInfo.getGeneratedId()
and type, which is part ofTableInfo.getDefinition()
). To get complete information use eithergetTable(TableId, TableOption...)
orgetTable(String, String, TableOption...)
.Example of listing the tables in a dataset, specifying the page size.
{ @code String datasetName = "my_dataset_name"; Page<Table> tables = bigquery.listTables(datasetName, TableListOption.pageSize(100)); for (Table table : tables.iterateAll()) { // do something with the table } }
- Throws:
BigQueryException
- upon failure
-
listTables
com.google.api.gax.paging.Page<Table> listTables(DatasetId datasetId, BigQuery.TableListOption... options)
Lists the tables in the dataset. This method returns partial information on each table: (TableInfo.getTableId()
,TableInfo.getFriendlyName()
,TableInfo.getGeneratedId()
and type, which is part ofTableInfo.getDefinition()
). To get complete information use eithergetTable(TableId, TableOption...)
orgetTable(String, String, TableOption...)
.Example of listing the tables in a dataset.
{ @code String projectId = "my_project_id"; String datasetName = "my_dataset_name"; DatasetId datasetId = DatasetId.of(projectId, datasetName); Page<Table> tables = bigquery.listTables(datasetId, TableListOption.pageSize(100)); for (Table table : tables.iterateAll()) { // do something with the table } }
- Throws:
BigQueryException
- upon failure
-
listModels
com.google.api.gax.paging.Page<Model> listModels(String datasetId, BigQuery.ModelListOption... options)
Lists the models in the dataset.
-
listModels
com.google.api.gax.paging.Page<Model> listModels(DatasetId datasetId, BigQuery.ModelListOption... options)
Lists the models in the dataset.
-
listPartitions
List<String> listPartitions(TableId tableId)
- Parameters:
tableId
-- Returns:
- A list of the partition ids present in the partitioned table
-
insertAll
InsertAllResponse insertAll(InsertAllRequest request)
Sends an insert all request.Example of inserting rows into a table without running a load job.
{ @code String datasetName = "my_dataset_name"; String tableName = "my_table_name"; TableId tableId = TableId.of(datasetName, tableName); // Values of the row to insert Map<String, Object> rowContent = new HashMap<>(); rowContent.put("booleanField", true); // Bytes are passed in base64 rowContent.put("bytesField", "Cg0NDg0="); // 0xA, 0xD, 0xD, 0xE, 0xD in base64 // Records are passed as a map Map<String, Object> recordsContent = new HashMap<>(); recordsContent.put("stringField", "Hello, World!"); rowContent.put("recordField", recordsContent); InsertAllResponse response = bigquery.insertAll(InsertAllRequest.newBuilder(tableId).addRow("rowId", rowContent) // More rows can be added in the same RPC by invoking .addRow() on the // builder .build()); if (response.hasErrors()) { // If any of the insertions failed, this lets you inspect the errors for (Entry<Long, List<BigQueryError>> entry : response.getInsertErrors().entrySet()) { // inspect row error } } }
- Throws:
BigQueryException
- upon failure
-
listTableData
TableResult listTableData(String datasetId, String tableId, BigQuery.TableDataListOption... options)
Lists the table's rows.Example of listing table rows, specifying the page size.
{ @code String datasetName = "my_dataset_name"; String tableName = "my_table_name"; // This example reads the result 100 rows per RPC call. If there's no need // to limit the number, // simply omit the option. TableResult tableData = bigquery.listTableData(datasetName, tableName, TableDataListOption.pageSize(100)); for (FieldValueList row : tableData.iterateAll()) { // do something with the row } }
- Throws:
BigQueryException
- upon failure
-
listTableData
TableResult listTableData(TableId tableId, BigQuery.TableDataListOption... options)
Lists the table's rows.Example of listing table rows, specifying the page size.
{ @code String datasetName = "my_dataset_name"; String tableName = "my_table_name"; TableId tableIdObject = TableId.of(datasetName, tableName); // This example reads the result 100 rows per RPC call. If there's no need // to limit the number, // simply omit the option. TableResult tableData = bigquery.listTableData(tableIdObject, TableDataListOption.pageSize(100)); for (FieldValueList row : tableData.iterateAll()) { // do something with the row } }
- Throws:
BigQueryException
- upon failure
-
listTableData
TableResult listTableData(String datasetId, String tableId, Schema schema, BigQuery.TableDataListOption... options)
Lists the table's rows. If theschema
is notnull
, it is available to theFieldValueList
iterated over.Example of listing table rows with schema.
String datasetName = "my_dataset_name"; String tableName = "my_table_name"; Schema schema = ...; String field = "field"; TableResult tableData = bigquery.listTableData(datasetName, tableName, schema); for (FieldValueList row : tableData.iterateAll()) { row.get(field); }
- Throws:
BigQueryException
- upon failure
-
listTableData
TableResult listTableData(TableId tableId, Schema schema, BigQuery.TableDataListOption... options)
Lists the table's rows. If theschema
is notnull
, it is available to theFieldValueList
iterated over.Example of listing table rows with schema.
{ @code Schema schema = Schema.of(Field.of("word", LegacySQLTypeName.STRING), Field.of("word_count", LegacySQLTypeName.STRING), Field.of("corpus", LegacySQLTypeName.STRING), Field.of("corpus_date", LegacySQLTypeName.STRING)); TableResult tableData = bigquery.listTableData(TableId.of("bigquery-public-data", "samples", "shakespeare"), schema); FieldValueList row = tableData.getValues().iterator().next(); System.out.println(row.get("word").getStringValue()); }
- Throws:
BigQueryException
- upon failure
-
getJob
Job getJob(String jobId, BigQuery.JobOption... options)
Returns the requested job ornull
if not found. If the location of the job is not "US" or "EU",getJob(JobId, JobOption...)
must be used instead.Example of getting a job.
{ @code String jobName = "my_job_name"; Job job = bigquery.getJob(jobName); if (job == null) { // job was not found } }
- Throws:
BigQueryException
- upon failure
-
getJob
Job getJob(JobId jobId, BigQuery.JobOption... options)
Returns the requested job ornull
if not found. If the location of the job is not "US" or "EU", thejobId
must specify the job location.Example of getting a job.
{ @code String jobName = "my_job_name"; JobId jobIdObject = JobId.of(jobName); Job job = bigquery.getJob(jobIdObject); if (job == null) { // job was not found } }
- Throws:
BigQueryException
- upon failure
-
listJobs
com.google.api.gax.paging.Page<Job> listJobs(BigQuery.JobListOption... options)
Lists the jobs.Example of listing jobs, specifying the page size.
{ @code Page<Job> jobs = bigquery.listJobs(JobListOption.pageSize(100)); for (Job job : jobs.iterateAll()) { // do something with the job } }
- Throws:
BigQueryException
- upon failure
-
cancel
boolean cancel(String jobId)
Sends a job cancel request. This call will return immediately. The job status can then be checked using eithergetJob(JobId, JobOption...)
orgetJob(String, JobOption...)
).If the location of the job is not "US" or "EU",
cancel(JobId)
must be used instead.Example of cancelling a job.
{ @code String jobName = "my_job_name"; boolean success = bigquery.cancel(jobName); if (success) { // job was cancelled } else { // job was not found } }
- Returns:
true
if cancel was requested successfully,false
if the job was not found- Throws:
BigQueryException
- upon failure
-
cancel
boolean cancel(JobId jobId)
Sends a job cancel request. This call will return immediately. The job status can then be checked using eithergetJob(JobId, JobOption...)
orgetJob(String, JobOption...)
).If the location of the job is not "US" or "EU", the
jobId
must specify the job location.Example of cancelling a job.
{ @code String jobName = "my_job_name"; JobId jobId = JobId.of(jobName); boolean success = bigquery.cancel(jobId); if (success) { // job was cancelled } else { // job was not found } }
- Returns:
true
if cancel was requested successfully,false
if the job was not found- Throws:
BigQueryException
- upon failure
-
query
TableResult query(QueryJobConfiguration configuration, BigQuery.JobOption... options) throws InterruptedException, JobException
Runs the query associated with the request, using an internally-generated random JobId.If the location of the job is not "US" or "EU",
query(QueryJobConfiguration, JobId, JobOption...)
must be used instead.This method cannot be used in conjuction with
QueryJobConfiguration.dryRun()
queries. Since dry-run queries are not actually executed, there's no way to retrieve results.Example of running a query.
{ @code // BigQuery bigquery = BigQueryOptions.getDefaultInstance().getService(); String query = "SELECT corpus FROM `bigquery-public-data.samples.shakespeare` GROUP BY corpus;"; QueryJobConfiguration queryConfig = QueryJobConfiguration.newBuilder(query).build(); // Print the results. for (FieldValueList row : bigquery.query(queryConfig).iterateAll()) { for (FieldValue val : row) { System.out.printf("%s,", val.toString()); } System.out.printf("\n"); } }
- Throws:
BigQueryException
- upon failureInterruptedException
- if the current thread gets interrupted while waiting for the query to completeJobException
- if the job completes unsuccessfully
-
query
TableResult query(QueryJobConfiguration configuration, JobId jobId, BigQuery.JobOption... options) throws InterruptedException, JobException
Runs the query associated with the request, using the given JobId.If the location of the job is not "US" or "EU", the
jobId
must specify the job location.This method cannot be used in conjuction with
QueryJobConfiguration.dryRun()
queries. Since dry-run queries are not actually executed, there's no way to retrieve results.See
query(QueryJobConfiguration, JobOption...)
for examples on populating aQueryJobConfiguration
.- Throws:
BigQueryException
- upon failureInterruptedException
- if the current thread gets interrupted while waiting for the query to completeJobException
- if the job completes unsuccessfully
-
getQueryResults
@InternalApi QueryResponse getQueryResults(JobId jobId, BigQuery.QueryResultsOption... options)
Returns results of the query associated with the provided job.Users are encouraged to use
Job.getQueryResults(QueryResultsOption...)
instead.
-
writer
TableDataWriteChannel writer(WriteChannelConfiguration writeChannelConfiguration)
Returns a channel to write data to be inserted into a BigQuery table. Data format and other options can be configured using theWriteChannelConfiguration
parameter. If the job is not in "US" or "EU",writer(JobId, WriteChannelConfiguration)
must be used instead.Example of creating a channel with which to write to a table.
{ @code String datasetName = "my_dataset_name"; String tableName = "my_table_name"; String csvData = "StringValue1\nStringValue2\n"; TableId tableId = TableId.of(datasetName, tableName); WriteChannelConfiguration writeChannelConfiguration = WriteChannelConfiguration.newBuilder(tableId) .setFormatOptions(FormatOptions.csv()).build(); TableDataWriteChannel writer = bigquery.writer(writeChannelConfiguration); // Write data to writer try { writer.write(ByteBuffer.wrap(csvData.getBytes(Charsets.UTF_8))); } finally { writer.close(); } // Get load job Job job = writer.getJob(); job = job.waitFor(); LoadStatistics stats = job.getStatistics(); return stats.getOutputRows(); }
Example of writing a local file to a table.
{ @code String datasetName = "my_dataset_name"; String tableName = "my_table_name"; Path csvPath = FileSystems.getDefault().getPath(".", "my-data.csv"); String location = "us"; TableId tableId = TableId.of(datasetName, tableName); WriteChannelConfiguration writeChannelConfiguration = WriteChannelConfiguration.newBuilder(tableId) .setFormatOptions(FormatOptions.csv()).build(); // The location must be specified; other fields can be auto-detected. JobId jobId = JobId.newBuilder().setLocation(location).build(); TableDataWriteChannel writer = bigquery.writer(jobId, writeChannelConfiguration); // Write data to writer try (OutputStream stream = Channels.newOutputStream(writer)) { Files.copy(csvPath, stream); } // Get load job Job job = writer.getJob(); job = job.waitFor(); LoadStatistics stats = job.getStatistics(); return stats.getOutputRows(); }
- Throws:
BigQueryException
- upon failure
-
writer
TableDataWriteChannel writer(JobId jobId, WriteChannelConfiguration writeChannelConfiguration)
Returns a channel to write data to be inserted into a BigQuery table. Data format and other options can be configured using theWriteChannelConfiguration
parameter. If the job is not in "US" or "EU", thejobId
must contain the location of the job.Example of creating a channel with which to write to a table.
{ @code String datasetName = "my_dataset_name"; String tableName = "my_table_name"; String csvData = "StringValue1\nStringValue2\n"; String location = "us"; TableId tableId = TableId.of(datasetName, tableName); WriteChannelConfiguration writeChannelConfiguration = WriteChannelConfiguration.newBuilder(tableId) .setFormatOptions(FormatOptions.csv()).build(); // The location must be specified; other fields can be auto-detected. JobId jobId = JobId.newBuilder().setLocation(location).build(); TableDataWriteChannel writer = bigquery.writer(jobId, writeChannelConfiguration); // Write data to writer try { writer.write(ByteBuffer.wrap(csvData.getBytes(Charsets.UTF_8))); } finally { writer.close(); } // Get load job Job job = writer.getJob(); job = job.waitFor(); LoadStatistics stats = job.getStatistics(); return stats.getOutputRows(); }
-
getIamPolicy
com.google.cloud.Policy getIamPolicy(TableId tableId, BigQuery.IAMOption... options)
Gets the IAM policy for a specified table.
-
setIamPolicy
com.google.cloud.Policy setIamPolicy(TableId tableId, com.google.cloud.Policy policy, BigQuery.IAMOption... options)
Sets the IAM policy for a specified table.
-
-