@Test public void testReload() throws Exception { initializeExpectedJob(4); JobInfo updatedInfo = JOB_INFO.toBuilder().setEtag("etag").build(); Job expectedJob = new Job(serviceMockReturnsOptions, new JobInfo.BuilderImpl(updatedInfo)); expect(bigquery.getOptions()).andReturn(mockOptions); expect(bigquery.getJob(JOB_INFO.getJobId())).andReturn(expectedJob); replay(bigquery); initializeJob(); Job updatedJob = job.reload(); compareJob(expectedJob, updatedJob); }
@Test public void testReloadWithOptions() throws Exception { initializeExpectedJob(4); JobInfo updatedInfo = JOB_INFO.toBuilder().setEtag("etag").build(); Job expectedJob = new Job(serviceMockReturnsOptions, new JobInfo.BuilderImpl(updatedInfo)); expect(bigquery.getOptions()).andReturn(mockOptions); expect(bigquery.getJob(JOB_INFO.getJobId(), BigQuery.JobOption.fields())) .andReturn(expectedJob); replay(bigquery); initializeJob(); Job updatedJob = job.reload(BigQuery.JobOption.fields()); compareJob(expectedJob, updatedJob); }
@Test public void testCreateJobWithProjectId() { JobInfo jobInfo = JobInfo.newBuilder(QUERY_JOB_CONFIGURATION.setProjectId(OTHER_PROJECT)) .setJobId(JobId.of(OTHER_PROJECT, JOB)) .build(); Capture<Map<BigQueryRpc.Option, Object>> capturedOptions = Capture.newInstance(); EasyMock.expect(bigqueryRpcMock.create(eq(jobInfo.toPb()), capture(capturedOptions))) .andReturn(jobInfo.toPb()); EasyMock.replay(bigqueryRpcMock); BigQueryOptions bigQueryOptions = createBigQueryOptionsForProject(OTHER_PROJECT, rpcFactoryMock); bigquery = bigQueryOptions.getService(); Job job = bigquery.create(jobInfo, JOB_OPTION_FIELDS); assertEquals(new Job(bigquery, new JobInfo.BuilderImpl(jobInfo)), job); String selector = (String) capturedOptions.getValue().get(JOB_OPTION_FIELDS.getRpcOption()); assertTrue(selector.contains("jobReference")); assertTrue(selector.contains("configuration")); assertTrue(selector.contains("user_email")); assertEquals(37, selector.length()); }
/** * Returns a builder for a {@code JobInfo} object given the job identity and configuration. Use * {@link CopyJobConfiguration} for a job that copies an existing table. Use * {@link ExtractJobConfiguration} for a job that exports a table to Google Cloud Storage. Use * {@link LoadJobConfiguration} for a job that loads data from Google Cloud Storage into a table. * Use {@link QueryJobConfiguration} for a job that runs a query. */ public static JobInfo of(JobId jobId, JobConfiguration configuration) { return builder(configuration).jobId(jobId).build(); }
/** * Returns a {@code JobInfo} object given the job configuration. Use {@link CopyJobConfiguration} * for a job that copies an existing table. Use {@link ExtractJobConfiguration} for a job that * exports a table to Google Cloud Storage. Use {@link LoadJobConfiguration} for a job that loads * data from Google Cloud Storage into a table. Use {@link QueryJobConfiguration} for a job that * runs a query. */ public static JobInfo of(JobConfiguration configuration) { return builder(configuration).build(); }
JobInfo setProjectId(String projectId) { Builder builder = toBuilder(); if (jobId != null) { builder.setJobId(jobId.setProjectId(projectId)); } return builder.setConfiguration(configuration.setProjectId(projectId)).build(); }
JobScheduler mJobScheduler = (JobScheduler) getSystemService(Context.JOB_SCHEDULER_SERVICE); JobInfo.Builder builder = new JobInfo.Builder( UpdateJob.JOB_ID, new ComponentName( getApplicationContext(), UpdateJob.class ) ); builder.setPeriodic(3000); // in every 3 sec builder.setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY); // only when network is available if( mJobScheduler.schedule( builder.build() ) <= 0 ) { //error, cant be scheduled } //later e.g. when update is disabled mJobScheduler.cancel(UpdateJob.JOB_ID);
/** * Returns a builder for a {@code JobInfo} object given the job identity and configuration. Use * {@link CopyJobConfiguration} for a job that copies an existing table. Use {@link * ExtractJobConfiguration} for a job that exports a table to Google Cloud Storage. Use {@link * LoadJobConfiguration} for a job that loads data from Google Cloud Storage into a table. Use * {@link QueryJobConfiguration} for a job that runs a query. */ public static JobInfo of(JobId jobId, JobConfiguration configuration) { return newBuilder(configuration).setJobId(jobId).build(); }
/** * Returns a {@code JobInfo} object given the job configuration. Use {@link CopyJobConfiguration} * for a job that copies an existing table. Use {@link ExtractJobConfiguration} for a job that * exports a table to Google Cloud Storage. Use {@link LoadJobConfiguration} for a job that loads * data from Google Cloud Storage into a table. Use {@link QueryJobConfiguration} for a job that * runs a query. */ public static JobInfo of(JobConfiguration configuration) { return newBuilder(configuration).build(); }
Job queryJob = bigquery.create(JobInfo.newBuilder(queryConfig).setJobId(jobId).build());
.setUserEmail(EMAIL) .setStatus(JOB_STATUS) .build();
.setUserEmail(EMAIL) .setStatus(JOB_STATUS) .build();
boolean idRandom = false; if (jobInfo.getJobId() == null) { jobInfo = jobInfo.toBuilder().setJobId(idProvider.get()).build(); idRandom = true;
/** Example of running a batch query. */ public void runBatchQuery() throws TimeoutException, InterruptedException { // [START bigquery_query_batch] // BigQuery bigquery = BigQueryOptions.getDefaultInstance().getService(); String query = "SELECT corpus FROM `bigquery-public-data.samples.shakespeare` GROUP BY corpus;"; QueryJobConfiguration queryConfig = QueryJobConfiguration.newBuilder(query) // Run at batch priority, which won't count toward concurrent rate // limit. .setPriority(QueryJobConfiguration.Priority.BATCH) .build(); // Location must match that of the dataset(s) referenced in the query. JobId jobId = JobId.newBuilder().setRandomJob().setLocation("US").build(); String jobIdString = jobId.getJob(); // API request - starts the query. bigquery.create(JobInfo.newBuilder(queryConfig).setJobId(jobId).build()); // Check on the progress by getting the job's updated state. Once the state // is `DONE`, the results are ready. Job queryJob = bigquery.getJob(JobId.newBuilder().setJob(jobIdString).setLocation("US").build()); System.out.printf( "Job %s in location %s currently in state: %s%n", queryJob.getJobId().getJob(), queryJob.getJobId().getLocation(), queryJob.getStatus().getState().toString()); // [END bigquery_query_batch] }
@Test public void testToBuilder() { compareJobInfo(COPY_JOB, COPY_JOB.toBuilder().build()); compareJobInfo(EXTRACT_JOB, EXTRACT_JOB.toBuilder().build()); compareJobInfo(LOAD_JOB, LOAD_JOB.toBuilder().build()); compareJobInfo(QUERY_JOB, QUERY_JOB.toBuilder().build()); JobInfo job = COPY_JOB.toBuilder().setUserEmail("newEmail").build(); assertEquals("newEmail", job.getUserEmail()); job = job.toBuilder().setUserEmail(EMAIL).build(); compareJobInfo(COPY_JOB, job); job = EXTRACT_JOB.toBuilder().setUserEmail("newEmail").build(); assertEquals("newEmail", job.getUserEmail()); job = job.toBuilder().setUserEmail(EMAIL).build(); compareJobInfo(EXTRACT_JOB, job); job = LOAD_JOB.toBuilder().setUserEmail("newEmail").build(); assertEquals("newEmail", job.getUserEmail()); job = job.toBuilder().setUserEmail(EMAIL).build(); compareJobInfo(LOAD_JOB, job); job = QUERY_JOB.toBuilder().setUserEmail("newEmail").build(); assertEquals("newEmail", job.getUserEmail()); job = job.toBuilder().setUserEmail(EMAIL).build(); compareJobInfo(QUERY_JOB, job); }
/** * Returns a builder for a {@code JobInfo} object given the job identity and configuration. Use * {@link CopyJobConfiguration} for a job that copies an existing table. Use {@link * ExtractJobConfiguration} for a job that exports a table to Google Cloud Storage. Use {@link * LoadJobConfiguration} for a job that loads data from Google Cloud Storage into a table. Use * {@link QueryJobConfiguration} for a job that runs a query. */ public static JobInfo of(JobId jobId, JobConfiguration configuration) { return newBuilder(configuration).setJobId(jobId).build(); }
@Test public void testToAndFromPbWithoutConfiguration() { JobInfo jobInfo = JobInfo.newBuilder(null).build(); initializeExpectedJob(4, jobInfo); replay(bigquery); compareJob(expectedJob, Job.fromPb(serviceMockReturnsOptions, expectedJob.toPb())); }
/** * Returns a {@code JobInfo} object given the job configuration. Use {@link CopyJobConfiguration} * for a job that copies an existing table. Use {@link ExtractJobConfiguration} for a job that * exports a table to Google Cloud Storage. Use {@link LoadJobConfiguration} for a job that loads * data from Google Cloud Storage into a table. Use {@link QueryJobConfiguration} for a job that * runs a query. */ public static JobInfo of(JobConfiguration configuration) { return newBuilder(configuration).build(); }
@Test public void testToBuilderIncomplete() { JobInfo job = JobInfo.of(COPY_CONFIGURATION); compareJobInfo(job, job.toBuilder().build()); }
JobInfo setProjectId(String projectId) { Builder builder = toBuilder(); if (jobId != null) { builder.setJobId(jobId.setProjectId(projectId)); } return builder.setConfiguration(configuration.setProjectId(projectId)).build(); }