Visualizzazione JOBS_TIMELINE_BY_FOLDER

La visualizzazione INFORMATION_SCHEMA.JOBS_TIMELINE_BY_FOLDER contiene dati quasi in tempo reale Metadati BigQuery per intervallo di tempo per tutti i job inviati nel cartella principale del progetto corrente, inclusi i job nelle sottocartelle al suo interno. Questa visualizzazione contiene job in esecuzione e completati.

Autorizzazioni obbligatorie

Per eseguire query sulla vista INFORMATION_SCHEMA.JOBS_TIMELINE_BY_FOLDER, devi disporre l'autorizzazione bigquery.jobs.listAll Identity and Access Management (IAM) per l'account padre . Ciascuno dei seguenti ruoli IAM predefiniti include autorizzazione richiesta:

  • Amministratore cartelle
  • Amministratore BigQuery

Per ulteriori informazioni sulle autorizzazioni BigQuery, consulta Controllo dell'accesso con IAM.

Schema

Quando esegui una query sulle viste INFORMATION_SCHEMA.JOBS_TIMELINE_BY_*, la query contengono una riga per ogni secondo di esecuzione di ogni del job BigQuery. Ogni ciclo inizia su un intervallo di un secondo intero dura esattamente un secondo.

La vista INFORMATION_SCHEMA.JOBS_TIMELINE_BY_* ha il seguente schema:

Nome colonna Tipo di dati Valore
period_start TIMESTAMP Ora di inizio di questo periodo.
period_slot_ms INTEGER Millisecondi di slot utilizzati in questo periodo.
period_shuffle_ram_usage_ratio FLOAT Rapporto di utilizzo casuale nel periodo di tempo selezionato.
project_id STRING ID (colonna clustering) del progetto.
project_number INTEGER Numero del progetto.
folder_numbers REPEATED INTEGER ID numero delle cartelle che contengono il progetto, che iniziano con che contiene immediatamente il progetto, seguita dalla cartella che contiene la cartella secondaria e così via. Ad esempio, se "folder_numbers" è "[1, 2, 3]", quindi la cartella "1" contiene immediatamente il progetto, la cartella "2" contiene "1" e la cartella "3" contiene "2".
user_email STRING (Colonna clustering) Indirizzo email o account di servizio di l'utente che ha eseguito il job.
job_id STRING ID del job. Ad esempio, bquxjob_1234.
job_type STRING Il tipo di lavoro. Può essere QUERY, LOAD, EXTRACT, COPY o null. Qualifica il tipo null indica un job interno, come un job di script la valutazione delle istruzioni o l'aggiornamento della vista materializzata.
statement_type STRING Il tipo di istruzione della query, se valido. Ad esempio: SELECT, INSERT, UPDATE o DELETE.
job_creation_time TIMESTAMP (Colonna Partitioning) Ora di creazione del job. Partizionamento si basa sull'ora UTC di questo timestamp.
job_start_time TIMESTAMP Ora di inizio di questo job.
job_end_time TIMESTAMP Ora di fine di questo job.
state STRING Stato in esecuzione del job al termine di questo periodo. Stati validi includono PENDING, RUNNING e DONE.
reservation_id STRING Nome della prenotazione principale assegnata a questo job alla fine di questo periodo, se applicabile.
total_bytes_processed INTEGER Byte totali elaborati dal job.
error_result RECORD Dettagli di un errore (se presente) come ErrorProto.
cache_hit BOOLEAN Se i risultati della query per questo job provengono da una cache.
period_estimated_runnable_units INTEGER Unità di lavoro che possono essere pianificate immediatamente in questo periodo. Slot aggiuntivi per queste unità di lavoro accelerano la query, a condizione che nessun'altra query nella prenotazione richieda slot aggiuntivi.

Conservazione dei dati

Questa visualizzazione contiene i job attualmente in esecuzione e la cronologia dei job degli ultimi 180 giorni.

Ambito e sintassi

Le query relative a questa vista devono includere un qualificatore regione. Se non specifichi un qualificatore regionale, i metadati vengono recuperati da tutti regioni. La tabella seguente spiega l'ambito della regione per questa visualizzazione:

Nome vista Ambito risorsa Ambito della regione
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.JOBS_TIMELINE_BY_FOLDER Livello di progetto REGION
Sostituisci quanto segue:

  • (Facoltativo) PROJECT_ID: l'ID del tuo progetto Google Cloud. Se non specificato, viene utilizzato il progetto predefinito.
  • REGION: qualsiasi nome della regione del set di dati. Ad esempio: region-us.

Esempi

I seguenti esempi mostrano come eseguire query sul INFORMATION_SCHEMA.JOBS_TIMELINE_BY_FOLDER visualizzazione.

Ottieni il numero di job unici

La seguente query mostra il numero di job unici in esecuzione al minuto nella cartella del progetto designato:

SELECT
  TIMESTAMP_TRUNC(period_start, MINUTE) AS per_start,
  COUNT(DISTINCT job_id) AS unique_jobs
FROM
  `region-us`.INFORMATION_SCHEMA.JOBS_TIMELINE_BY_FOLDER,
  UNNEST(folder_numbers) f
WHERE
  my_folder_number = f
GROUP BY
  per_start
ORDER BY
  per_start DESC;

Il risultato è simile al seguente:

+---------------------------+---------------------------------+
|  per_start                |  unique_jobs                    |
+---------------------------+---------------------------------+
|  2019-10-10 00:04:00 UTC  |  5                              |
|  2019-10-10 00:03:00 UTC  |  2                              |
|  2019-10-10 00:02:00 UTC  |  3                              |
|  2019-10-10 00:01:00 UTC  |  4                              |
|  2019-10-10 00:00:00 UTC  |  4                              |
+---------------------------+---------------------------------+

Calcolare il tempo di slot utilizzato

La seguente query mostra il tempo di slot utilizzato al minuto nella cartella del progetto designato:

SELECT
  TIMESTAMP_TRUNC(period_start, MINUTE) AS per_start,
  SUM(period_slot_ms) AS slot_ms
FROM
  `region-us`.INFORMATION_SCHEMA.JOBS_TIMELINE_BY_FOLDER,
  UNNEST(folder_numbers) f
WHERE
  my_folder_number = f
  AND reservation_id = "my reservation id"
  AND statement_type != "SCRIPT"
GROUP BY
  per_start
ORDER BY
  per_start DESC;

Il risultato è simile al seguente:

+---------------------------+---------------------------------+
|  per_start                |  slot_ms                        |
+---------------------------+---------------------------------+
|  2019-10-10 00:04:00 UTC  |  500                            |
|  2019-10-10 00:03:00 UTC  |  1000                           |
|  2019-10-10 00:02:00 UTC  |  3000                           |
|  2019-10-10 00:01:00 UTC  |  4000                           |
|  2019-10-10 00:00:00 UTC  |  4000                           |
+---------------------------+---------------------------------+