com.google.api.services.bigquery.model.JobConfiguration configurationPb = new com.google.api.services.bigquery.model.JobConfiguration(); JobConfigurationQuery queryConfigurationPb = new JobConfigurationQuery(); queryConfigurationPb.setQuery(query); if (!positionalParameters.isEmpty()) { List<QueryParameter> queryParametersPb = Lists.transform(positionalParameters, POSITIONAL_PARAMETER_TO_PB_FUNCTION); queryConfigurationPb.setQueryParameters(queryParametersPb); } else if (!namedParameters.isEmpty()) { List<QueryParameter> queryParametersPb = Lists.transform(namedParameters.entrySet().asList(), NAMED_PARAMETER_TO_PB_FUNCTION); queryConfigurationPb.setQueryParameters(queryParametersPb); queryConfigurationPb.setAllowLargeResults(allowLargeResults); queryConfigurationPb.setCreateDisposition(createDisposition.toString()); queryConfigurationPb.setDestinationTable(destinationTable.toPb()); queryConfigurationPb.setDefaultDataset(defaultDataset.toPb()); queryConfigurationPb.setFlattenResults(flattenResults); queryConfigurationPb.setPriority(priority.toString()); queryConfigurationPb.setTableDefinitions( Maps.transformValues( tableDefinitions, ExternalTableDefinition.TO_EXTERNAL_DATA_FUNCTION));
private Builder(com.google.api.services.bigquery.model.JobConfiguration configurationPb) { this(); JobConfigurationQuery queryConfigurationPb = configurationPb.getQuery(); this.query = queryConfigurationPb.getQuery(); if (queryConfigurationPb.getQueryParameters() != null && !queryConfigurationPb.getQueryParameters().isEmpty()) { if (queryConfigurationPb.getQueryParameters().get(0).getName() == null) { setPositionalParameters( Lists.transform( queryConfigurationPb.getQueryParameters(), POSITIONAL_PARAMETER_FROM_PB_FUNCTION)); } else { Map<String, QueryParameterValue> values = Maps.newHashMap(); for (QueryParameter queryParameterPb : queryConfigurationPb.getQueryParameters()) { checkNotNull(queryParameterPb.getName()); QueryParameterValue value = allowLargeResults = queryConfigurationPb.getAllowLargeResults(); useQueryCache = queryConfigurationPb.getUseQueryCache(); flattenResults = queryConfigurationPb.getFlattenResults(); useLegacySql = queryConfigurationPb.getUseLegacySql(); if (queryConfigurationPb.getMaximumBillingTier() != null) { maximumBillingTier = queryConfigurationPb.getMaximumBillingTier(); if (queryConfigurationPb.getMaximumBytesBilled() != null) { maximumBytesBilled = queryConfigurationPb.getMaximumBytesBilled(); if (queryConfigurationPb.getDestinationTable() != null) { destinationTable = TableId.fromPb(queryConfigurationPb.getDestinationTable());
private static com.google.api.services.bigquery.model.Job newJobPb() { return new com.google.api.services.bigquery.model.Job() .setConfiguration( new com.google.api.services.bigquery.model.JobConfiguration() .setQuery(new JobConfigurationQuery().setQuery("FOO"))); }
com.google.api.services.bigquery.model.JobConfiguration configurationPb = new com.google.api.services.bigquery.model.JobConfiguration(); JobConfigurationQuery queryConfigurationPb = new JobConfigurationQuery(); queryConfigurationPb.setQuery(query); configurationPb.setDryRun(dryRun()); if (allowLargeResults != null) { queryConfigurationPb.setAllowLargeResults(allowLargeResults); queryConfigurationPb.setCreateDisposition(createDisposition.toString()); queryConfigurationPb.setDestinationTable(destinationTable.toPb()); queryConfigurationPb.setDefaultDataset(defaultDataset.toPb()); queryConfigurationPb.setFlattenResults(flattenResults); queryConfigurationPb.setPriority(priority.toString()); queryConfigurationPb.setTableDefinitions(Maps.transformValues(tableDefinitions, ExternalTableDefinition.TO_EXTERNAL_DATA_FUNCTION)); queryConfigurationPb.setUseQueryCache(useQueryCache); queryConfigurationPb.setUserDefinedFunctionResources( Lists.transform(userDefinedFunctions, UserDefinedFunction.TO_PB_FUNCTION)); queryConfigurationPb.setWriteDisposition(writeDisposition.toString()); queryConfigurationPb.setUseLegacySql(useLegacySql);
private Builder(com.google.api.services.bigquery.model.JobConfiguration configurationPb) { this(); JobConfigurationQuery queryConfigurationPb = configurationPb.getQuery(); this.query = queryConfigurationPb.getQuery(); allowLargeResults = queryConfigurationPb.getAllowLargeResults(); useQueryCache = queryConfigurationPb.getUseQueryCache(); flattenResults = queryConfigurationPb.getFlattenResults(); useLegacySql = queryConfigurationPb.getUseLegacySql(); dryRun = configurationPb.getDryRun(); if (queryConfigurationPb.getDestinationTable() != null) { destinationTable = TableId.fromPb(queryConfigurationPb.getDestinationTable()); if (queryConfigurationPb.getDefaultDataset() != null) { defaultDataset = DatasetId.fromPb(queryConfigurationPb.getDefaultDataset()); if (queryConfigurationPb.getPriority() != null) { priority = Priority.valueOf(queryConfigurationPb.getPriority()); if (queryConfigurationPb.getTableDefinitions() != null) { tableDefinitions = Maps.transformValues(queryConfigurationPb.getTableDefinitions(), ExternalTableDefinition.FROM_EXTERNAL_DATA_FUNCTION); if (queryConfigurationPb.getUserDefinedFunctionResources() != null) { userDefinedFunctions = Lists.transform( queryConfigurationPb.getUserDefinedFunctionResources(), UserDefinedFunction.FROM_PB_FUNCTION); if (queryConfigurationPb.getCreateDisposition() != null) { createDisposition = CreateDisposition.valueOf(queryConfigurationPb.getCreateDisposition());
JobConfigurationQuery queryConfig = new JobConfigurationQuery(); queryConfig.setAllowLargeResults(true); queryConfig.setQuery(query); queryConfig.setDestinationTable(tableRef); queryConfig.setWriteDisposition("WRITE_EMPTY");
private JobConfigurationQuery createBasicQueryConfig() { return new JobConfigurationQuery() .setFlattenResults(flattenResults) .setQuery(query.get()) .setUseLegacySql(useLegacySql); }
new JobConfigurationQuery() .setFlattenResults(false) .setAllowLargeResults(true) .setDestinationTable(tempTableReference) .setQuery(query); JobConfiguration jc = new JobConfiguration().setQuery(jcQuery);
@Override protected JobConfiguration jobConfiguration(String projectId) { JobConfigurationQuery cfg = new JobConfigurationQuery() .setQuery(query); cfg.setUseLegacySql(params.get("use_legacy_sql", boolean.class, false)); params.getOptional("allow_large_results", boolean.class).transform(cfg::setAllowLargeResults); params.getOptional("use_query_cache", Boolean.class).transform(cfg::setUseQueryCache); params.getOptional("create_disposition", String.class).transform(cfg::setCreateDisposition); params.getOptional("write_disposition", String.class).transform(cfg::setWriteDisposition); params.getOptional("flatten_results", Boolean.class).transform(cfg::setFlattenResults); params.getOptional("maximum_billing_tier", Integer.class).transform(cfg::setMaximumBillingTier); params.getOptional("priority", String.class).transform(cfg::setPriority); params.getOptional("table_definitions", new TypeReference<Map<String, ExternalDataConfiguration>>() {}) .transform(cfg::setTableDefinitions); params.getOptional("user_defined_function_resources", new TypeReference<List<UserDefinedFunctionResource>>() {}) .transform(cfg::setUserDefinedFunctionResources); Optional<DatasetReference> defaultDataset = params.getOptional("dataset", String.class) .transform(Bq::datasetReference); defaultDataset.transform(cfg::setDefaultDataset); params.getOptional("destination_table", String.class) .transform(s -> cfg.setDestinationTable(tableReference(projectId, defaultDataset, s))); return new JobConfiguration() .setQuery(cfg); } }
.setAllowLargeResults(true) .setCreateDisposition("CREATE_IF_NEEDED") .setDestinationTable(destinationTable) .setPriority(this.priority.name()) .setWriteDisposition("WRITE_TRUNCATE");
client.jobs().insert(projectId, dryRunJob), String.format("Error when trying to dry run query %s.", queryConfig.toPrettyString())).getStatistics(); destinationTable.setDatasetId(temporaryDatasetId); destinationTable.setTableId(temporaryTableId); queryConfig.setDestinationTable(destinationTable); queryConfig.setAllowLargeResults(true); queryConfig.toPrettyString())); JobReference jobId = queryJob.getJobReference(); client.jobs().get(projectId, jobId.getJobId()), String.format("Error when trying to get status of the job for query %s.", queryConfig.toPrettyString())); JobStatus status = pollJob.getStatus(); if (status.getState().equals("DONE")) { return pollJob.getConfiguration().getQuery().getDestinationTable(); } else { "Executing query %s failed: %s", queryConfig.toPrettyString(), error.getMessage()));
.setId(JOB) .setStatus(new com.google.api.services.bigquery.model.JobStatus().setState("DONE")); jobResponsePb.getConfiguration().getQuery().setDestinationTable(TABLE_ID.toPb()); GetQueryResultsResponse responsePb = new GetQueryResultsResponse()
Job content = new Job(); JobConfiguration cfg = new JobConfiguration(); JobConfigurationQuery jobConfigurationQuery = new JobConfigurationQuery(); UserDefinedFunctionResource userDefinedFunctionResource = new UserDefinedFunctionResource(); userDefinedFunctionResource.setResourceUri("gs://mybucket/udf.js"); jobConfigurationQuery.setUserDefinedFunctionResources(Lists.newArrayList( userDefinedFunctionResource )); cfg.setQuery(jobConfigurationQuery); content.setConfiguration(cfg); Bigquery.Jobs.Insert request = bigqueryService.jobs().insert(projectId, content); Job response = request.execute();
@Test public void testIncomplete() { // https://github.com/googleapis/google-cloud-java/issues/2357 com.google.api.services.bigquery.model.Job job = new com.google.api.services.bigquery.model.Job() .setStatistics( new com.google.api.services.bigquery.model.JobStatistics() .setCreationTime(1234L) .setStartTime(5678L)); job.setConfiguration( new com.google.api.services.bigquery.model.JobConfiguration() .setCopy(new com.google.api.services.bigquery.model.JobConfigurationTableCopy())); assertThat(JobStatistics.fromPb(job)).isInstanceOf(CopyStatistics.class); job.setConfiguration( new com.google.api.services.bigquery.model.JobConfiguration() .setLoad(new com.google.api.services.bigquery.model.JobConfigurationLoad())); assertThat(JobStatistics.fromPb(job)).isInstanceOf(LoadStatistics.class); job.setConfiguration( new com.google.api.services.bigquery.model.JobConfiguration() .setExtract(new com.google.api.services.bigquery.model.JobConfigurationExtract())); assertThat(JobStatistics.fromPb(job)).isInstanceOf(ExtractStatistics.class); job.setConfiguration( new com.google.api.services.bigquery.model.JobConfiguration() .setQuery(new com.google.api.services.bigquery.model.JobConfigurationQuery())); assertThat(JobStatistics.fromPb(job)).isInstanceOf(QueryStatistics.class); }
private JobStatus runQueryJob(JobConfigurationQuery query) throws IOException, InterruptedException { List<TableRow> rows = FakeBigQueryServices.rowsFromEncodedQuery(query.getQuery()); datasetService.createTable(new Table().setTableReference(query.getDestinationTable())); datasetService.insertAll(query.getDestinationTable(), rows, null); return new JobStatus().setState("DONE"); }
@Override public JobStatistics dryRunQuery(String projectId, JobConfigurationQuery query, String location) { synchronized (dryRunQueryResults) { JobStatistics result = dryRunQueryResults.get(projectId, query.getQuery()); if (result != null) { return result; } } throw new UnsupportedOperationException(); }
com.google.api.services.bigquery.model.JobConfiguration configurationPb = new com.google.api.services.bigquery.model.JobConfiguration(); JobConfigurationQuery queryConfigurationPb = new JobConfigurationQuery(); queryConfigurationPb.setQuery(query); configurationPb.setDryRun(dryRun()); if (allowLargeResults != null) { queryConfigurationPb.setAllowLargeResults(allowLargeResults); queryConfigurationPb.setCreateDisposition(createDisposition.toString()); queryConfigurationPb.setDestinationTable(destinationTable.toPb()); queryConfigurationPb.setDefaultDataset(defaultDataset.toPb()); queryConfigurationPb.setFlattenResults(flattenResults); queryConfigurationPb.setPriority(priority.toString()); queryConfigurationPb.setTableDefinitions(Maps.transformValues(tableDefinitions, ExternalTableDefinition.TO_EXTERNAL_DATA_FUNCTION)); queryConfigurationPb.setUseQueryCache(useQueryCache); queryConfigurationPb.setUserDefinedFunctionResources( Lists.transform(userDefinedFunctions, UserDefinedFunction.TO_PB_FUNCTION)); queryConfigurationPb.setWriteDisposition(writeDisposition.toString());
private Builder(com.google.api.services.bigquery.model.JobConfiguration configurationPb) { this(); JobConfigurationQuery queryConfigurationPb = configurationPb.getQuery(); this.query = queryConfigurationPb.getQuery(); allowLargeResults = queryConfigurationPb.getAllowLargeResults(); useQueryCache = queryConfigurationPb.getUseQueryCache(); flattenResults = queryConfigurationPb.getFlattenResults(); dryRun = configurationPb.getDryRun(); if (queryConfigurationPb.getDestinationTable() != null) { destinationTable = TableId.fromPb(queryConfigurationPb.getDestinationTable()); if (queryConfigurationPb.getDefaultDataset() != null) { defaultDataset = DatasetId.fromPb(queryConfigurationPb.getDefaultDataset()); if (queryConfigurationPb.getPriority() != null) { priority = Priority.valueOf(queryConfigurationPb.getPriority()); if (queryConfigurationPb.getTableDefinitions() != null) { tableDefinitions = Maps.transformValues(queryConfigurationPb.getTableDefinitions(), ExternalTableDefinition.FROM_EXTERNAL_DATA_FUNCTION); if (queryConfigurationPb.getUserDefinedFunctionResources() != null) { userDefinedFunctions = Lists.transform( queryConfigurationPb.getUserDefinedFunctionResources(), UserDefinedFunction.FROM_PB_FUNCTION); if (queryConfigurationPb.getCreateDisposition() != null) { createDisposition = CreateDisposition.valueOf(queryConfigurationPb.getCreateDisposition());
jobService.dryRunQuery( bqOptions.getProject(), new JobConfigurationQuery() .setQuery(getQuery().get()) .setFlattenResults(getFlattenResults()) .setUseLegacySql(getUseLegacySql()), getQueryLocation()); } catch (Exception e) {
JobConfigurationQuery queryConfig = new JobConfigurationQuery(); config.setQuery(queryConfig); queryConfig.setQuery(querySql);