Visualizzazione JOBS_TIMELINE_BY_FOLDER
La visualizzazione INFORMATION_SCHEMA.JOBS_TIMELINE_BY_FOLDER
contiene metadati BigQuery quasi in tempo reale per periodo di tempo per tutti i job inviati nella cartella padre del progetto corrente, inclusi i job nelle sottocartelle al suo interno.
Questa visualizzazione contiene i job attualmente in esecuzione e completati.
Autorizzazioni obbligatorie
Per eseguire una query sulla visualizzazione INFORMATION_SCHEMA.JOBS_TIMELINE_BY_FOLDER
, devi disporre
dell'autorizzazione Identity and Access Management (IAM) di bigquery.jobs.listAll
per la cartella
principale.
Ciascuno dei seguenti ruoli IAM predefiniti include l'autorizzazione richiesta:
- Amministratore cartelle
- Amministratore BigQuery
Per maggiori informazioni sulle autorizzazioni BigQuery, consulta Controllo dell'accesso con IAM.
Schema
Quando esegui una query sulle viste INFORMATION_SCHEMA.JOBS_TIMELINE_BY_*
, i risultati delle query contengono una riga per ogni secondo di esecuzione di ogni job BigQuery. Ogni periodo inizia su un secondo intero
e 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 consumati 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 |
Numero ID delle cartelle che contengono il progetto, a partire dalla cartella che contiene immediatamente il progetto, seguita dalla cartella che contiene la cartella figlio e così via. Ad esempio, se "numeri_cartella" è "[1, 2, 3]", 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 dell'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 . Il tipo di job null indica un job interno, ad esempio la valutazione dell'istruzione di un job di script o l'aggiornamento della vista materializzata. |
statement_type |
STRING |
Il tipo di istruzione della query, se valida. Ad esempio, SELECT , INSERT , UPDATE o DELETE . |
job_creation_time |
TIMESTAMP |
(Colonna di partizionamento) Data/ora di creazione del job. Il 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 |
Lo stato del job è in esecuzione alla fine 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. |
total_bytes_processed |
INTEGER |
Byte totali elaborati dal job. |
error_result |
RECORD |
Dettagli dell'errore (se presente) come
ErrorProto.
|
cache_hit |
BOOLEAN |
Indica se i risultati della query di questo job provengono da una cache. |
period_estimated_runnable_units |
INTEGER |
Unità di lavoro che possono essere pianificate immediatamente in questo periodo. Gli 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 in questa vista devono includere un qualificatore regione. Se non specifichi un qualificatore regionale, i metadati vengono recuperati da tutte le regioni. La tabella seguente spiega l'ambito della regione per questa visualizzazione:
Nome vista | Ambito risorsa | Ambito regione |
---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.JOBS_TIMELINE_BY_FOLDER |
A livello di progetto | REGION |
- (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 sulla vista INFORMATION_SCHEMA.JOBS_TIMELINE_BY_FOLDER
.
Recupera il numero di job univoci
La seguente query mostra il numero di job univoci 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 | +---------------------------+---------------------------------+
Calcola 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 | +---------------------------+---------------------------------+