code: def _run_query(client, query, job_config=None):
      
      start_time = time.time()
      query_job = client.query(query, job_config=job_config)
      print("Executing query with job ID: {}".format(query_job.job_id))
  
      while True:
          print("\rQuery executing: {:0.2f}s".format(time.time() - start_time), end="")
          try:
              query_job.result(timeout=0.5)
              break
          except futures.TimeoutError:
              continue
      print("\nQuery complete after {:0.2f}s".format(time.time() - start_time))
      return query_job
docs: Runs a query while printing status updates
  
      Args:
          client (google.cloud.bigquery.client.Client):
              Client to bundle configuration needed for API requests.
          query (str):
              SQL query to be executed. Defaults to the standard SQL dialect.
              Use the ``job_config`` parameter to change dialects.
          job_config (google.cloud.bigquery.job.QueryJobConfig, optional):
              Extra configuration options for the job.
  
      Returns:
          google.cloud.bigquery.job.QueryJob: the query job created
  
      Example:
          >>> client = bigquery.Client()
          >>> _run_query(client, "SELECT 17")
          Executing query with job ID: bf633912-af2c-4780-b568-5d868058632b
          Query executing: 1.66s
          Query complete after 2.07s
          'bf633912-af2c-4780-b568-5d868058632b'