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 |
- Facoltativo:
PROJECT_ID
: l'ID del tuo progetto Google Cloud. Se non viene 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.
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 | +---------------------------+---------------------------------+