com.google.api.services.bigquery.model.QueryRequest toPb() { com.google.api.services.bigquery.model.QueryRequest queryRequestPb = new com.google.api.services.bigquery.model.QueryRequest().setQuery(query); if (pageSize != null) { queryRequestPb.setMaxResults(pageSize); } if (defaultDataset != null) { queryRequestPb.setDefaultDataset(defaultDataset.toPb()); } if (maxWaitTime != null) { queryRequestPb.setTimeoutMs(maxWaitTime); } if (dryRun != null) { queryRequestPb.setDryRun(dryRun); } if (useQueryCache != null) { queryRequestPb.setUseQueryCache(useQueryCache); } return queryRequestPb; }
static QueryRequest fromPb(com.google.api.services.bigquery.model.QueryRequest queryRequestPb) { Builder builder = builder(queryRequestPb.getQuery()); if (queryRequestPb.getMaxResults() != null) { builder.pageSize(queryRequestPb.getMaxResults()); } if (queryRequestPb.getDefaultDataset() != null) { builder.defaultDataset(DatasetId.fromPb(queryRequestPb.getDefaultDataset())); } if (queryRequestPb.getTimeoutMs() != null) { builder.maxWaitTime(queryRequestPb.getTimeoutMs()); } if (queryRequestPb.getDryRun() != null) { builder.dryRun(queryRequestPb.getDryRun()); } if (queryRequestPb.getUseQueryCache() != null) { builder.useQueryCache(queryRequestPb.getUseQueryCache()); } return builder.build(); } }
@Nonnull public QueryResponse queryWithRetries(String query, String projectId, boolean typed) throws IOException, InterruptedException { Sleeper sleeper = Sleeper.DEFAULT; BackOff backoff = BackOffAdapter.toGcpBackOff(BACKOFF_FACTORY.backoff()); IOException lastException = null; QueryRequest bqQueryRequest = new QueryRequest().setQuery(query); do { if (lastException != null) { LOG.warn("Retrying query ({}) after exception", bqQueryRequest.getQuery(), lastException); } try { QueryResponse response = bqClient.jobs().query(projectId, bqQueryRequest).execute(); if (response != null) { return typed ? getTypedTableRows(response) : response; } else { lastException = new IOException("Expected valid response from query job, but received null."); } } catch (IOException e) { // ignore and retry lastException = e; } } while (BackOffUtils.next(sleeper, backoff)); throw new RuntimeException( String.format( "Unable to get BigQuery response after retrying %d times using query (%s)", MAX_QUERY_RETRIES, bqQueryRequest.getQuery()), lastException); }
static QueryRequest fromPb(com.google.api.services.bigquery.model.QueryRequest queryRequestPb) { Builder builder = builder(queryRequestPb.getQuery()); if (queryRequestPb.getMaxResults() != null) { builder.pageSize(queryRequestPb.getMaxResults()); } if (queryRequestPb.getDefaultDataset() != null) { builder.defaultDataset(DatasetId.fromPb(queryRequestPb.getDefaultDataset())); } if (queryRequestPb.getTimeoutMs() != null) { builder.maxWaitTime(queryRequestPb.getTimeoutMs()); } if (queryRequestPb.getDryRun() != null) { builder.dryRun(queryRequestPb.getDryRun()); } if (queryRequestPb.getUseQueryCache() != null) { builder.useQueryCache(queryRequestPb.getUseQueryCache()); } if (queryRequestPb.getUseLegacySql() != null) { builder.useLegacySql(queryRequestPb.getUseLegacySql()); } return builder.build(); } }
com.google.api.services.bigquery.model.QueryRequest toPb() { com.google.api.services.bigquery.model.QueryRequest queryRequestPb = new com.google.api.services.bigquery.model.QueryRequest().setQuery(query); if (pageSize != null) { queryRequestPb.setMaxResults(pageSize); } if (defaultDataset != null) { queryRequestPb.setDefaultDataset(defaultDataset.toPb()); } if (maxWaitTime != null) { queryRequestPb.setTimeoutMs(maxWaitTime); } if (dryRun != null) { queryRequestPb.setDryRun(dryRun); } if (useQueryCache != null) { queryRequestPb.setUseQueryCache(useQueryCache); } if (useLegacySql != null) { queryRequestPb.setUseLegacySql(useLegacySql); } return queryRequestPb; }