@SuppressWarnings("unchecked") static <T extends JobConfiguration> T fromPb( com.google.api.services.bigquery.model.JobConfiguration configurationPb) { if (configurationPb.getCopy() != null) { return (T) CopyJobConfiguration.fromPb(configurationPb); } else if (configurationPb.getExtract() != null) { return (T) ExtractJobConfiguration.fromPb(configurationPb); } else if (configurationPb.getLoad() != null) { return (T) LoadJobConfiguration.fromPb(configurationPb); } else if (configurationPb.getQuery() != null) { return (T) QueryJobConfiguration.fromPb(configurationPb); } else { // never reached throw new IllegalArgumentException("Job configuration is not supported"); } } }
@SuppressWarnings("unchecked") static <T extends JobStatistics> T fromPb(com.google.api.services.bigquery.model.Job jobPb) { JobConfiguration jobConfigPb = jobPb.getConfiguration(); com.google.api.services.bigquery.model.JobStatistics statisticPb = jobPb.getStatistics(); if (jobConfigPb.getLoad() != null) { return (T) LoadStatistics.fromPb(statisticPb); } else if (jobConfigPb.getExtract() != null) { return (T) ExtractStatistics.fromPb(statisticPb); } else if (jobConfigPb.getQuery() != null) { return (T) QueryStatistics.fromPb(statisticPb); } else if (jobConfigPb.getCopy() != null) { return (T) CopyStatistics.fromPb(statisticPb); } else { throw new IllegalArgumentException("unknown job configuration: " + jobConfigPb); } } }
@Test public void testToPbAndFromPb() { assertNull(LOAD_CONFIGURATION_CSV.toPb().getLoad().getSourceUris()); compareLoadConfiguration( LOAD_CONFIGURATION_CSV, WriteChannelConfiguration.fromPb(LOAD_CONFIGURATION_CSV.toPb())); WriteChannelConfiguration configuration = WriteChannelConfiguration.of(TABLE_ID); compareLoadConfiguration(configuration, WriteChannelConfiguration.fromPb(configuration.toPb())); }
private Builder(com.google.api.services.bigquery.model.JobConfiguration configurationPb) { this(); JobConfigurationLoad loadConfigurationPb = configurationPb.getLoad(); this.destinationTable = TableId.fromPb(loadConfigurationPb.getDestinationTable()); if (loadConfigurationPb.getCreateDisposition() != null) { this.projectionFields = loadConfigurationPb.getProjectionFields(); if (loadConfigurationPb.getSourceUris() != null) { this.sourceUris = ImmutableList.copyOf(configurationPb.getLoad().getSourceUris());
private Builder(com.google.api.services.bigquery.model.JobConfiguration configurationPb) { JobConfigurationLoad loadConfigurationPb = configurationPb.getLoad(); this.destinationTable = TableId.fromPb(loadConfigurationPb.getDestinationTable()); if (loadConfigurationPb.getCreateDisposition() != null) { this.destinationEncryptionConfiguration = new EncryptionConfiguration.Builder( configurationPb.getLoad().getDestinationEncryptionConfiguration()) .build();
@Test public void testToPbAndFromPb() { assertNotNull(QUERY_JOB_CONFIGURATION.toPb().getQuery()); assertNull(QUERY_JOB_CONFIGURATION.toPb().getExtract()); assertNull(QUERY_JOB_CONFIGURATION.toPb().getCopy()); assertNull(QUERY_JOB_CONFIGURATION.toPb().getLoad()); compareQueryJobConfiguration( QUERY_JOB_CONFIGURATION, QueryJobConfiguration.fromPb(QUERY_JOB_CONFIGURATION.toPb())); QueryJobConfiguration job = QueryJobConfiguration.of(QUERY); compareQueryJobConfiguration(job, QueryJobConfiguration.fromPb(job.toPb())); }
@Test public void testToPbAndFromPb() { assertNotNull(EXTRACT_CONFIGURATION.toPb().getExtract()); assertNull(EXTRACT_CONFIGURATION.toPb().getCopy()); assertNull(EXTRACT_CONFIGURATION.toPb().getLoad()); assertNull(EXTRACT_CONFIGURATION.toPb().getQuery()); compareExtractJobConfiguration( EXTRACT_CONFIGURATION, ExtractJobConfiguration.fromPb(EXTRACT_CONFIGURATION.toPb())); compareExtractJobConfiguration( EXTRACT_CONFIGURATION_ONE_URI, ExtractJobConfiguration.fromPb(EXTRACT_CONFIGURATION_ONE_URI.toPb())); ExtractJobConfiguration job = ExtractJobConfiguration.of(TABLE_ID, DESTINATION_URIS); compareExtractJobConfiguration(job, ExtractJobConfiguration.fromPb(job.toPb())); }
@Test public void testToPbAndFromPb() { assertNotNull(COPY_JOB_CONFIGURATION.toPb().getCopy()); assertNull(COPY_JOB_CONFIGURATION.toPb().getExtract()); assertNull(COPY_JOB_CONFIGURATION.toPb().getLoad()); assertNull(COPY_JOB_CONFIGURATION.toPb().getQuery()); assertNull(COPY_JOB_CONFIGURATION.toPb().getCopy().getSourceTables()); assertNull(COPY_JOB_CONFIGURATION_MULTIPLE_TABLES.toPb().getCopy().getSourceTable()); compareCopyJobConfiguration( COPY_JOB_CONFIGURATION, CopyJobConfiguration.fromPb(COPY_JOB_CONFIGURATION.toPb())); compareCopyJobConfiguration( COPY_JOB_CONFIGURATION_MULTIPLE_TABLES, CopyJobConfiguration.fromPb(COPY_JOB_CONFIGURATION_MULTIPLE_TABLES.toPb())); CopyJobConfiguration jobConfiguration = CopyJobConfiguration.of(DESTINATION_TABLE, SOURCE_TABLES); compareCopyJobConfiguration( jobConfiguration, CopyJobConfiguration.fromPb(jobConfiguration.toPb())); }
assertNotNull(COPY_JOB.toPb().getConfiguration().getCopy()); assertNull(COPY_JOB.toPb().getConfiguration().getExtract()); assertNull(COPY_JOB.toPb().getConfiguration().getLoad()); assertNull(COPY_JOB.toPb().getConfiguration().getQuery()); assertEquals(COPY_JOB_STATISTICS, JobStatistics.fromPb(COPY_JOB.toPb())); assertNull(EXTRACT_JOB.toPb().getConfiguration().getCopy()); assertNotNull(EXTRACT_JOB.toPb().getConfiguration().getExtract()); assertNull(EXTRACT_JOB.toPb().getConfiguration().getLoad()); assertNull(EXTRACT_JOB.toPb().getConfiguration().getQuery()); assertEquals(EXTRACT_JOB_STATISTICS, JobStatistics.fromPb(EXTRACT_JOB.toPb())); assertNull(LOAD_JOB.toPb().getConfiguration().getCopy()); assertNull(LOAD_JOB.toPb().getConfiguration().getExtract()); assertNotNull(LOAD_JOB.toPb().getConfiguration().getLoad()); assertNull(LOAD_JOB.toPb().getConfiguration().getQuery()); assertEquals(LOAD_JOB_STATISTICS, JobStatistics.fromPb(LOAD_JOB.toPb())); assertNull(QUERY_JOB.toPb().getConfiguration().getCopy()); assertNull(QUERY_JOB.toPb().getConfiguration().getExtract()); assertNull(QUERY_JOB.toPb().getConfiguration().getLoad()); assertNotNull(QUERY_JOB.toPb().getConfiguration().getQuery()); assertEquals(QUERY_JOB_STATISTICS, JobStatistics.fromPb(QUERY_JOB.toPb()));
static String jobToPrettyString(@Nullable Job job) throws IOException { if (job != null && job.getConfiguration().getLoad() != null) { // Removing schema and sourceUris from error messages for load jobs since these fields can be // quite long and error message might not be displayed properly in runner specific logs. job = job.clone(); job.getConfiguration().getLoad().setSchema(null); job.getConfiguration().getLoad().setSourceUris(null); } return job == null ? "null" : job.toPrettyString(); }
@SuppressWarnings("unchecked") static <T extends JobConfiguration> T fromPb( com.google.api.services.bigquery.model.JobConfiguration configurationPb) { if (configurationPb.getCopy() != null) { return (T) CopyJobConfiguration.fromPb(configurationPb); } else if (configurationPb.getExtract() != null) { return (T) ExtractJobConfiguration.fromPb(configurationPb); } else if (configurationPb.getLoad() != null) { return (T) LoadJobConfiguration.fromPb(configurationPb); } else if (configurationPb.getQuery() != null) { return (T) QueryJobConfiguration.fromPb(configurationPb); } else { // never reached throw new IllegalArgumentException("Job configuration is not supported"); } } }
@SuppressWarnings("unchecked") static <T extends JobConfiguration> T fromPb( com.google.api.services.bigquery.model.JobConfiguration configurationPb) { if (configurationPb.getCopy() != null) { return (T) CopyJobConfiguration.fromPb(configurationPb); } else if (configurationPb.getExtract() != null) { return (T) ExtractJobConfiguration.fromPb(configurationPb); } else if (configurationPb.getLoad() != null) { return (T) LoadJobConfiguration.fromPb(configurationPb); } else if (configurationPb.getQuery() != null) { return (T) QueryJobConfiguration.fromPb(configurationPb); } else { // never reached throw new IllegalArgumentException("Job configuration is not supported"); } } }
@SuppressWarnings("unchecked") static <T extends JobConfiguration> T fromPb( com.google.api.services.bigquery.model.JobConfiguration configurationPb) { if (configurationPb.getCopy() != null) { return (T) CopyJobConfiguration.fromPb(configurationPb); } else if (configurationPb.getExtract() != null) { return (T) ExtractJobConfiguration.fromPb(configurationPb); } else if (configurationPb.getLoad() != null) { return (T) LoadJobConfiguration.fromPb(configurationPb); } else if (configurationPb.getQuery() != null) { return (T) QueryJobConfiguration.fromPb(configurationPb); } else { // never reached throw new IllegalArgumentException("Job configuration is not supported"); } } }
@SuppressWarnings("unchecked") static <T extends JobStatistics> T fromPb(com.google.api.services.bigquery.model.Job jobPb) { JobConfiguration jobConfigPb = jobPb.getConfiguration(); com.google.api.services.bigquery.model.JobStatistics statisticPb = jobPb.getStatistics(); if (jobConfigPb.getLoad() != null) { return (T) LoadStatistics.fromPb(statisticPb); } else if (jobConfigPb.getExtract() != null) { return (T) ExtractStatistics.fromPb(statisticPb); } else if (jobConfigPb.getQuery() != null) { return (T) QueryStatistics.fromPb(statisticPb); } else if (jobConfigPb.getCopy() != null) { return (T) CopyStatistics.fromPb(statisticPb); } else { throw new IllegalArgumentException("unknown job configuration: " + jobConfigPb); } } }
private JobStatus runJob(Job job) throws InterruptedException, IOException { if (job.getConfiguration().getLoad() != null) { return runLoadJob(job.getJobReference(), job.getConfiguration().getLoad()); } else if (job.getConfiguration().getCopy() != null) { return runCopyJob(job.getConfiguration().getCopy()); } else if (job.getConfiguration().getExtract() != null) { return runExtractJob(job, job.getConfiguration().getExtract()); } else if (job.getConfiguration().getQuery() != null) { return runQueryJob(job.getConfiguration().getQuery()); } return new JobStatus().setState("DONE"); }
private Builder(com.google.api.services.bigquery.model.JobConfiguration configurationPb) { this(); JobConfigurationLoad loadConfigurationPb = configurationPb.getLoad(); this.destinationTable = TableId.fromPb(loadConfigurationPb.getDestinationTable()); if (loadConfigurationPb.getCreateDisposition() != null) { this.projectionFields = loadConfigurationPb.getProjectionFields(); if (loadConfigurationPb.getSourceUris() != null) { this.sourceUris = ImmutableList.copyOf(configurationPb.getLoad().getSourceUris());
private Builder(com.google.api.services.bigquery.model.JobConfiguration configurationPb) { this(); JobConfigurationLoad loadConfigurationPb = configurationPb.getLoad(); this.destinationTable = TableId.fromPb(loadConfigurationPb.getDestinationTable()); if (loadConfigurationPb.getCreateDisposition() != null) { this.projectionFields = loadConfigurationPb.getProjectionFields(); if (loadConfigurationPb.getSourceUris() != null) { this.sourceUris = ImmutableList.copyOf(configurationPb.getLoad().getSourceUris());
private Builder(com.google.api.services.bigquery.model.JobConfiguration configurationPb) { JobConfigurationLoad loadConfigurationPb = configurationPb.getLoad(); this.destinationTable = TableId.fromPb(loadConfigurationPb.getDestinationTable()); if (loadConfigurationPb.getCreateDisposition() != null) { this.destinationEncryptionConfiguration = new EncryptionConfiguration.Builder( configurationPb.getLoad().getDestinationEncryptionConfiguration()) .build();
private Builder(com.google.api.services.bigquery.model.JobConfiguration configurationPb) { JobConfigurationLoad loadConfigurationPb = configurationPb.getLoad(); this.destinationTable = TableId.fromPb(loadConfigurationPb.getDestinationTable()); if (loadConfigurationPb.getCreateDisposition() != null) {
private Builder(com.google.api.services.bigquery.model.JobConfiguration configurationPb) { JobConfigurationLoad loadConfigurationPb = configurationPb.getLoad(); this.destinationTable = TableId.fromPb(loadConfigurationPb.getDestinationTable()); if (loadConfigurationPb.getCreateDisposition() != null) {