def METHOD_NAME(fuzzer):
  """Load yesterday's stats into BigQuery."""
  bigquery = big_query.get_api_client()
  project_id = utils.get_application_id()
  yesterday = (_utc_now().date() - datetime.timedelta(days=1))
  date_string = yesterday.strftime('%Y%m%d')
  timestamp = utils.utc_date_to_timestamp(yesterday)
  dataset_id = fuzzer_stats.dataset_name(fuzzer)
  if not _create_dataset_if_needed(bigquery, dataset_id):
    return
  for kind in STATS_KINDS:
    kind_name = kind.__name__
    table_id = kind_name
    if kind == fuzzer_stats.TestcaseRun:
      schema = fuzzer_stats_schema.get(fuzzer)
    else:
      schema = kind.SCHEMA
    if not schema:
      continue
    if not _create_table_if_needed(bigquery, dataset_id, table_id, schema):
      continue
    gcs_path = fuzzer_stats.get_gcs_stats_path(kind_name, fuzzer, timestamp)
    # Shard loads by prefix to avoid causing BigQuery to run out of memory.
    first_write = True
    for prefix in _HEX_DIGITS:
      load = {
          'destinationTable': {
              'projectId': project_id,
              'tableId': table_id + '$' + date_string,
              'datasetId': dataset_id,
          },
          'schemaUpdateOptions': ['ALLOW_FIELD_ADDITION',],
          'sourceFormat':
              'NEWLINE_DELIMITED_JSON',
          'sourceUris': ['gs:/' + gcs_path + prefix + '*.json'],
          # Truncate on the first shard, then append the rest.
          'writeDisposition':
              'WRITE_TRUNCATE' if first_write else 'WRITE_APPEND',
          'schema':
              schema,
      }
      job_body = {
          'configuration': {
              'load': load,
          },
      }
      try:
        logs.log("Uploading job to BigQuery.", job_body=job_body)
        request = bigquery.jobs().insert(projectId=project_id, body=job_body)
        load_response = request.execute(num_retries=NUM_RETRIES)
        job_id = load_response['jobReference']['jobId']
        logs.log(f'Load job id: {job_id}')
        response = _poll_completion(bigquery, project_id, job_id)
        logs.log('Completed load: %s' % response)
        errors = response['status'].get('errors')
        if errors:
          logs.log_error(
              f'Failed load for {job_id} with errors: {str(errors)})')
        else:
          # Successful write. Subsequent writes should be WRITE_APPEND.
          first_write = False
      except Exception as e:
        # Log exception here as otherwise it gets lost in the thread pool
        # worker.
        logs.log_error(f'Failed to load: {str(e)}')