@Override public QueryResponse call() { return bigquery.getQueryResults(getJobId(), resultsOptions); } },
@Test public void testGetQueryResults() { JobId queryJob = JobId.of(JOB); GetQueryResultsResponse responsePb = new GetQueryResultsResponse() .setEtag("etag") .setJobReference(queryJob.toPb()) .setRows(ImmutableList.of(TABLE_ROW)) .setJobComplete(true) .setCacheHit(false) .setPageToken(CURSOR) .setTotalBytesProcessed(42L) .setTotalRows(BigInteger.valueOf(1L)); EasyMock.expect(bigqueryRpcMock.getQueryResults(PROJECT, JOB, null, EMPTY_RPC_OPTIONS)) .andReturn(responsePb); EasyMock.replay(bigqueryRpcMock); bigquery = options.getService(); QueryResponse response = bigquery.getQueryResults(queryJob); assertEquals(true, response.getCompleted()); assertEquals(null, response.getSchema()); }
@Test public void testGetQueryResultsWithProject() { JobId queryJob = JobId.of(OTHER_PROJECT, JOB); GetQueryResultsResponse responsePb = new GetQueryResultsResponse() .setEtag("etag") .setJobReference(queryJob.toPb()) .setRows(ImmutableList.of(TABLE_ROW)) .setJobComplete(true) .setCacheHit(false) .setPageToken(CURSOR) .setTotalBytesProcessed(42L) .setTotalRows(BigInteger.valueOf(1L)); EasyMock.expect(bigqueryRpcMock.getQueryResults(OTHER_PROJECT, JOB, null, EMPTY_RPC_OPTIONS)) .andReturn(responsePb); EasyMock.replay(bigqueryRpcMock); bigquery = options.getService(); QueryResponse response = bigquery.getQueryResults(queryJob); assertTrue(response.getCompleted()); assertEquals(null, response.getSchema()); }
@Test public void testGetQueryResultsWithOptions() { JobId queryJob = JobId.of(PROJECT, JOB); GetQueryResultsResponse responsePb = new GetQueryResultsResponse() .setJobReference(queryJob.toPb()) .setRows(ImmutableList.of(TABLE_ROW)) .setJobComplete(true) .setCacheHit(false) .setPageToken(CURSOR) .setTotalBytesProcessed(42L) .setTotalRows(BigInteger.valueOf(1L)); EasyMock.expect(bigqueryRpcMock.getQueryResults(PROJECT, JOB, null, QUERY_RESULTS_OPTIONS)) .andReturn(responsePb); EasyMock.replay(bigqueryRpcMock); bigquery = options.getService(); QueryResponse response = bigquery.getQueryResults( queryJob, QUERY_RESULTS_OPTION_TIME, QUERY_RESULTS_OPTION_INDEX, QUERY_RESULTS_OPTION_PAGE_SIZE, QUERY_RESULTS_OPTION_PAGE_TOKEN); assertEquals(true, response.getCompleted()); assertEquals(null, response.getSchema()); }
.build(); expect(bigquery.getQueryResults(jobInfo.getJobId(), Job.DEFAULT_QUERY_WAIT_OPTIONS)) .andReturn(completedQuery); expect(bigquery.getJob(JOB_INFO.getJobId())).andReturn(completedJob); expect(bigquery.getQueryResults(jobInfo.getJobId(), Job.DEFAULT_QUERY_WAIT_OPTIONS)) .andReturn(completedQuery); expect(bigquery.listTableData(eq(TABLE_ID1), anyObject(Schema.class))).andReturn(result);
.build(); expect(bigquery.getQueryResults(jobInfo.getJobId(), Job.DEFAULT_QUERY_WAIT_OPTIONS)) .andReturn(completedQuery); expect(bigquery.getJob(JOB_INFO.getJobId())).andReturn(completedJob); expect(bigquery.getQueryResults(jobInfo.getJobId(), Job.DEFAULT_QUERY_WAIT_OPTIONS)) .andReturn(completedQuery);
QueryResponse response = bigquery.getQueryResults(jobId);
@Override public QueryResponse call() { return bigquery.getQueryResults(getJobId(), resultsOptions); } },
private QueryResponse loopQueryResponse(BigQuery bigquery, QueryResponse queryResponse) { if (queryResponse == null) { TalendRuntimeException.build(ComponentsErrorCode.IO_EXCEPTION).throwIt(); } while (!queryResponse.jobCompleted()) { try { Thread.sleep(1000); } catch (InterruptedException e) { TalendRuntimeException.build(ComponentsErrorCode.IO_EXCEPTION, e).throwIt(); } queryResponse = bigquery.getQueryResults(queryResponse.getJobId()); } if (queryResponse.hasErrors()) { TalendRuntimeException.build(ComponentsErrorCode.IO_EXCEPTION).setAndThrow( queryResponse.getExecutionErrors().toArray(new String[] {})); } return queryResponse; }
private QueryResponse loopQueryResponse(BigQuery bigquery, QueryResponse queryResponse) { if (queryResponse == null) { TalendRuntimeException.build(ComponentsErrorCode.IO_EXCEPTION).throwIt(); } while (!queryResponse.jobCompleted()) { try { Thread.sleep(1000); } catch (InterruptedException e) { TalendRuntimeException.build(ComponentsErrorCode.IO_EXCEPTION, e).throwIt(); } queryResponse = bigquery.getQueryResults(queryResponse.getJobId()); } if (queryResponse.hasErrors()) { TalendRuntimeException.build(ComponentsErrorCode.IO_EXCEPTION).setAndThrow( queryResponse.getExecutionErrors().toArray(new String[] {})); } return queryResponse; }
private QueryResponse queryWithLarge(BigQuery bigquery, QueryRequest queryRequest, String projectId) { String tempDataset = genTempName("dataset"); String tempTable = genTempName("table"); bigquery.create(DatasetInfo.of(tempDataset)); TableId tableId = TableId.of(projectId, tempDataset, tempTable); QueryJobConfiguration jobConfiguration = QueryJobConfiguration .newBuilder(queryRequest.getQuery()) .setAllowLargeResults(true) .setUseLegacySql(queryRequest.useLegacySql()) .setDestinationTable(tableId) .build(); Job job = bigquery.create(JobInfo.of(jobConfiguration)); QueryResponse queryResponse = bigquery.getQueryResults(job.getJobId()); queryResponse = loopQueryResponse(bigquery, queryResponse); bigquery.delete(tableId); return queryResponse; }
private QueryResponse queryWithLarge(BigQuery bigquery, QueryRequest queryRequest, String projectId) { String tempDataset = genTempName("dataset"); String tempTable = genTempName("table"); bigquery.create(DatasetInfo.of(tempDataset)); TableId tableId = TableId.of(projectId, tempDataset, tempTable); QueryJobConfiguration jobConfiguration = QueryJobConfiguration .newBuilder(queryRequest.getQuery()) .setAllowLargeResults(true) .setUseLegacySql(queryRequest.useLegacySql()) .setDestinationTable(tableId) .build(); Job job = bigquery.create(JobInfo.of(jobConfiguration)); QueryResponse queryResponse = bigquery.getQueryResults(job.getJobId()); queryResponse = loopQueryResponse(bigquery, queryResponse); bigquery.delete(tableId); return queryResponse; }