code: def copy(self,
               source_table,
               dest_table,
               create_disposition=CreateDisposition.CREATE_IF_NEEDED,
               write_disposition=WriteDisposition.WRITE_TRUNCATE):
          
  
          job = {
              "configuration": {
                  "copy": {
                      "sourceTable": {
                          "projectId": source_table.project_id,
                          "datasetId": source_table.dataset_id,
                          "tableId": source_table.table_id,
                      },
                      "destinationTable": {
                          "projectId": dest_table.project_id,
                          "datasetId": dest_table.dataset_id,
                          "tableId": dest_table.table_id,
                      },
                      "createDisposition": create_disposition,
                      "writeDisposition": write_disposition,
                  }
              }
          }
  
          self.run_job(dest_table.project_id, job, dataset=dest_table.dataset)
docs: Copies (or appends) a table to another table.
  
              :param source_table:
              :type source_table: BQTable
              :param dest_table:
              :type dest_table: BQTable
              :param create_disposition: whether to create the table if needed
              :type create_disposition: CreateDisposition
              :param write_disposition: whether to append/truncate/fail if the table exists
              :type write_disposition: WriteDisposition