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 in 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 Identity and Access Management (IAM) bigquery.jobs.listAll per l'organizzazione principale . 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 visualizzazioni INFORMATION_SCHEMA.JOBS_TIMELINE_BY_*, i risultati della query contengono una riga per ogni secondo di esecuzione di ogni job BigQuery. Ogni ciclo inizia su un intervallo di un secondo intero dura esattamente un secondo.

La vista INFORMATION_SCHEMA.JOBS_TIMELINE_BY_* ha lo schema seguente:

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 (Colonna di clustering) ID del progetto.
project_number INTEGER Numero del progetto.
folder_numbers REPEATED INTEGER Numeri ID delle cartelle che contengono il progetto, a partire dalla cartella 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 job. 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 di partizionamento) Ora di creazione di questo job. Partizionamento si basa sull'ora UTC di questo timestamp.
job_start_time TIMESTAMP Ora di inizio del job.
job_end_time TIMESTAMP Ora di fine di questo job.
state STRING Stato in esecuzione del job al termine di questo periodo. Gli 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.
edition STRING La versione associata alla prenotazione assegnata a questo job. Per ulteriori informazioni sulle versioni, consulta Introduzione alle versioni di BigQuery.
total_bytes_processed INTEGER Byte totali elaborati dal job.
error_result RECORD Dettagli dell'errore (se presenti) sotto forma di 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 su questa visualizzazione devono includere un qualificatore regione. Se non specifichi un qualificatore regionale, i metadati vengono recuperati da tutti regioni. La tabella seguente illustra l'ambito della regione per questa visualizzazione:

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

  • Facoltativo: PROJECT_ID: l'ID del tuo progetto Google Cloud. Se non viene specificato, viene utilizzato il progetto predefinito.

Esempi

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

Ottenere il numero di job univoci

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                           |
+---------------------------+---------------------------------+