docs: def table_extract(self, table_name, destination, format='CSV', compress=True,
                      field_delimiter=',', print_header=True):
      """Exports the table to GCS.
  
      Args:
        table_name: the name of the table as a tuple of components.
        destination: the destination URI(s). Can be a single URI or a list.
        format: the format to use for the exported data; one of CSV, NEWLINE_DELIMITED_JSON or AVRO.
            Defaults to CSV.
        compress: whether to compress the data on export. Compression is not supported for
            AVRO format. Defaults to False.
        field_delimiter: for CSV exports, the field delimiter to use. Defaults to ','
        print_header: for CSV exports, whether to include an initial header line. Default true.
      Returns:
        A parsed result object.
      Raises:
        Exception if there is an error performing the operation.
      """
      url = Api._ENDPOINT + (Api._JOBS_PATH % (table_name.project_id, ''))
      if isinstance(destination, basestring):
        destination = [destination]
      data = {
          # 'projectId': table_name.project_id, # Code sample shows this but it is not in job
          # reference spec. Filed as b/19235843
          'kind': 'bigquery#job',
          'configuration': {
              'extract': {
                  'sourceTable': {
                      'projectId': table_name.project_id,
                      'datasetId': table_name.dataset_id,
                      'tableId': table_name.table_id,
                  },
                  'compression': 'GZIP' if compress else 'NONE',
                  'fieldDelimiter': field_delimiter,
                  'printHeader': print_header,
                  'destinationUris': destination,
                  'destinationFormat': format,
              }
          }
      }
      return datalab.utils.Http.request(url, data=data, credentials=self._credentials)