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"))); }
queryConfigurationPb.setClustering(clustering.toPb()); return configurationPb.setQuery(queryConfigurationPb);
@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); }
JobConfiguration config = new JobConfiguration(); JobConfigurationQuery queryConfig = new JobConfigurationQuery(); config.setQuery(queryConfig);
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();
/** * {@inheritDoc} * * <p>Tries executing the RPC for at most {@code MAX_RPC_RETRIES} times until it succeeds. * * @throws IOException if it exceeds {@code MAX_RPC_RETRIES} attempts. */ @Override public void startQueryJob(JobReference jobRef, JobConfigurationQuery queryConfig) throws IOException, InterruptedException { Job job = new Job() .setJobReference(jobRef) .setConfiguration(new JobConfiguration().setQuery(queryConfig)); startJob(job, errorExtractor, client); }
/** * Creates a Query Job for a particular query on a dataset * * @param bigquery an authorized BigQuery client * @param projectId a String containing the project ID * @param querySql the actual query string * @return a reference to the inserted query job * @throws IOException */ public static JobReference startQuery(Bigquery bigquery, String projectId, String querySql) throws IOException { System.out.format("\nInserting Query Job: %s\n", querySql); Job job = new Job(); JobConfiguration config = new JobConfiguration(); JobConfigurationQuery queryConfig = new JobConfigurationQuery(); config.setQuery(queryConfig); job.setConfiguration(config); queryConfig.setQuery(querySql); Insert insert = bigquery.jobs().insert(projectId, job); insert.setProjectId(projectId); JobReference jobId = insert.execute().getJobReference(); System.out.format("\nJob ID of Query Job is: %s\n", jobId.getJobId()); return jobId; }
@Override public JobStatistics dryRunQuery( String projectId, JobConfigurationQuery queryConfig, String location) throws InterruptedException, IOException { JobReference jobRef = new JobReference().setLocation(location).setProjectId(projectId); Job job = new Job() .setJobReference(jobRef) .setConfiguration(new JobConfiguration().setQuery(queryConfig).setDryRun(true)); return executeWithRetries( client.jobs().insert(projectId, job), String.format( "Unable to dry run query: %s, aborting after %d retries.", queryConfig, MAX_RPC_RETRIES), Sleeper.DEFAULT, createDefaultBackoff(), ALWAYS_RETRY) .getStatistics(); }
.setDestinationTable(tempTableReference) .setQuery(query); JobConfiguration jc = new JobConfiguration().setQuery(jcQuery);
queryConfigurationPb.setClustering(clustering.toPb()); return configurationPb.setQuery(queryConfigurationPb);
@Override public void startQueryJob(JobReference jobRef, JobConfigurationQuery query) { synchronized (allJobs) { Job job = new Job(); job.setJobReference(jobRef); job.setConfiguration(new JobConfiguration().setQuery(query)); job.setKind(" bigquery#job"); job.setStatus(new JobStatus().setState("PENDING")); allJobs.put(jobRef.getProjectId(), jobRef.getJobId(), new JobInfo(job)); } }
queryConfigurationPb.setWriteDisposition(writeDisposition.toString()); return configurationPb.setQuery(queryConfigurationPb);
queryConfigurationPb.setUseLegacySql(useLegacySql); return configurationPb.setQuery(queryConfigurationPb);
config.setQuery(queryConfig);
@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); } }