code: public Job extract(String format, List<String> destinationUris, JobOption... options)
        throws BigQueryException {
      ExtractJobConfiguration extractConfiguration =
          ExtractJobConfiguration.of(getTableId(), destinationUris, format);
      return bigquery.create(JobInfo.of(extractConfiguration), options);
    }
docs: Starts a BigQuery Job to extract the current table to the provided destination URIs. Returns
  the started {@link Job} object.
  
  <p>Example of partitioning data to a list of Google Cloud Storage files.
  
  <pre>{@code
  String format = "CSV";
  String gcsUrl1 = "gs://my_bucket/PartitionA_*.csv";
  String gcsUrl2 = "gs://my_bucket/PartitionB_*.csv";
  List<String> destinationUris = new ArrayList<>();
  destinationUris.add(gcsUrl1);
  destinationUris.add(gcsUrl2);
  Job job = table.extract(format, destinationUris);
  // Wait for the job to complete
  try {
  Job completedJob = job.waitFor(RetryOption.initialRetryDelay(Duration.ofSeconds(1)),
  RetryOption.totalTimeout(Duration.ofMinutes(3)));
  if (completedJob != null && completedJob.getStatus().getError() == null) {
  // Job completed successfully
  } else {
  // Handle error case
  }
  } catch (InterruptedException e) {
  // Handle interrupted wait
  }
  }</pre>
  
  @param format the format of the exported data
  @param destinationUris the fully-qualified Google Cloud Storage URIs (e.g. gs://bucket/path)
  where the extracted table should be written
  @param options job options
  @throws BigQueryException upon failure