Visualizzazione WRITE_API_TIMELINE_BY_ORGANIZATION
La visualizzazione INFORMATION_SCHEMA.STREAMING_TIMELINE_BY_ORGANIZATION
contiene per
statistiche aggregate sui flussi di dati al minuto per l'intera organizzazione associata
con il progetto attuale.
Puoi eseguire query sulle INFORMATION_SCHEMA
viste dell'API Scrivi
per recuperare informazioni storiche e in tempo reale sull'importazione dati
BigQuery che utilizza l'API BigQuery Storage Writer. Per ulteriori informazioni, consulta l'API BigQuery Storage Write.
Autorizzazione obbligatoria
Per eseguire query sulla vista INFORMATION_SCHEMA.WRITE_API_TIMELINE_BY_ORGANIZATION
, devi disporre
l'autorizzazione bigquery.tables.list
Identity and Access Management (IAM) per
dell'organizzazione.
Ciascuno dei seguenti ruoli IAM predefiniti include l'autorizzazione obbligatoria:
roles/bigquery.admin
roles/bigquery.user
roles/bigquery.dataViewer
roles/bigquery.dataEditor
roles/bigquery.dataOwner
roles/bigquery.metadataViewer
roles/bigquery.resourceAdmin
Per ulteriori informazioni sulle autorizzazioni BigQuery, consulta Controllo dell'accesso con IAM.
Schema
Quando esegui query sulle viste dell'INFORMATION_SCHEMA
API BigQuery Storage Write, i risultati della query contengono informazioni storiche e in tempo reale sull'importazione dei dati in
BigQuery utilizzando l'API BigQuery Storage Write. Ogni riga nelle visualizzazioni seguenti rappresenta le statistiche per l'importazione in una tabella specifica, aggregate
un intervallo di un minuto a partire da start_timestamp
. Le statistiche sono raggruppate per tipo di stream e codice di errore, quindi ci sarà una riga per ogni tipo di stream e per ogni codice di errore rilevato durante l'intervallo di un minuto per ogni combinazione di timestamp e tabella. Il codice di errore delle richieste riuscite è impostato su OK
. Se
Nessun dato è stato importato in una tabella durante un determinato periodo di tempo, quindi non sono presenti righe per i timestamp corrispondenti per quella tabella.
Le visualizzazioni INFORMATION_SCHEMA.WRITE_API_TIMELINE_BY_*
hanno il seguente schema:
Nome colonna | Tipo di dati | Valore |
---|---|---|
start_timestamp |
TIMESTAMP |
(Colonna di partizionamento) Timestamp di inizio dell'intervallo di 1 minuto per le statistiche aggregate. |
project_id |
STRING |
ID (colonna clustering) del progetto. |
project_number |
INTEGER |
Numero del progetto. |
dataset_id |
STRING |
(Colonna di clustering) ID del set di dati. |
table_id |
STRING |
(Colonna di clustering) ID della tabella. |
stream_type |
STRING |
Il tipo di stream utilizzato per l'importazione dati con l'API BigQuery Storage Scrivi. Deve essere "PREDEFINITO", "COMMITTED", "BUFFERED" o "IN ATTESA". |
error_code |
STRING |
Codice di errore restituito per le richieste specificate da questa riga. "OK" della richieste riuscite. |
total_requests |
INTEGER |
Numero totale di richieste nell'intervallo di 1 minuto. |
total_rows |
INTEGER |
Numero totale di righe di tutte le richieste nell'intervallo di 1 minuto. |
total_input_bytes |
INTEGER |
Numero totale di byte di tutte le righe nell'intervallo di 1 minuto. |
Conservazione dei dati
Questa visualizzazione contiene la cronologia di streaming 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 tutte le regioni. La tabella seguente illustra l'ambito della regione per questa visualizzazione:
Nome vista | Ambito risorsa | Ambito regione |
---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.WRITE_API_TIMELINE_BY_ORGANIZATION |
Organizzazione che contiene il progetto specificato | 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`
.
Esempio
- Per eseguire query sui dati nell'area multiregionale degli Stati Uniti, utilizza
`region-us`.INFORMATION_SCHEMA.WRITE_API_TIMELINE_BY_ORGANIZATION
- Per eseguire query sui dati nell'area multiregionale UE, utilizza
`region-eu`.INFORMATION_SCHEMA.WRITE_API_TIMELINE_BY_ORGANIZATION
- Per eseguire query sui dati nella regione asia-northeast1, utilizza
`region-asia-northeast1`.INFORMATION_SCHEMA.WRITE_API_TIMELINE_BY_ORGANIZATION
Per un elenco delle regioni disponibili, consulta Località dei set di dati.
Esempi
Esempio 1: errori di importazione recenti dell'API BigQuery Storage Write
L'esempio seguente calcola l'analisi al minuto del totale degli errori richieste per tutte le tabelle nell'organizzazione del progetto negli ultimi 30 minuti, suddivisi per codice di errore:
SELECT start_timestamp, stream_type, error_code, SUM(total_requests) AS num_failed_requests FROM `region-us`.INFORMATION_SCHEMA.WRITE_API_TIMELINE_BY_ORGANIZATION WHERE error_code != 'OK' AND start_timestamp > TIMESTAMP_SUB(CURRENT_TIMESTAMP, INTERVAL 30 MINUTE) GROUP BY start_timestamp, stream_type, error_code ORDER BY start_timestamp DESC;
Il risultato è simile al seguente:
+---------------------+-------------+------------------+---------------------+ | start_timestamp | stream_type | error_code | num_failed_requests | +---------------------+-------------+------------------+---------------------+ | 2023-02-24 00:25:00 | PENDING | NOT_FOUND | 5 | | 2023-02-24 00:25:00 | DEFAULT | INVALID_ARGUMENT | 1 | | 2023-02-24 00:25:00 | DEFAULT | DEADLINE_EXCEEDED| 4 | | 2023-02-24 00:24:00 | PENDING | INTERNAL | 3 | | 2023-02-24 00:24:00 | DEFAULT | INVALID_ARGUMENT | 1 | | 2023-02-24 00:24:00 | DEFAULT | DEADLINE_EXCEEDED| 2 | +---------------------+-------------+------------------+---------------------+
Esempio 2: suddivisione per minuto di tutte le richieste con codici di errore
L'esempio seguente calcola una suddivisione al minuto delle richieste di accodamento andate a buon fine e non andate a buon fine nell'organizzazione del progetto, suddivise in categorie di codice errore. Questa query potrebbe essere utilizzata per compilare una dashboard.
SELECT start_timestamp, SUM(total_requests) AS total_requests, SUM(total_rows) AS total_rows, SUM(total_input_bytes) AS total_input_bytes, SUM( IF( error_code IN ( 'INVALID_ARGUMENT', 'NOT_FOUND', 'CANCELLED', 'RESOURCE_EXHAUSTED', 'ALREADY_EXISTS', 'PERMISSION_DENIED', 'UNAUTHENTICATED', 'FAILED_PRECONDITION', 'OUT_OF_RANGE'), total_requests, 0)) AS user_error, SUM( IF( error_code IN ( 'DEADLINE_EXCEEDED','ABORTED', 'INTERNAL', 'UNAVAILABLE', 'DATA_LOSS', 'UNKNOWN'), total_requests, 0)) AS server_error, SUM(IF(error_code = 'OK', 0, total_requests)) AS total_error, FROM `region-us`.INFORMATION_SCHEMA.WRITE_API_TIMELINE_BY_FOLDER GROUP BY start_timestamp ORDER BY start_timestamp DESC;
Il risultato è simile al seguente:
+---------------------+----------------+------------+-------------------+-------------+------------+--------------+-------------+ | start_timestamp | total_requests | total_rows | total_input_bytes | quota_error | user_error | server_error | total_error | +---------------------+----------------+------------+-------------------+-------------+------------+--------------+-------------+ | 2020-04-15 22:00:00 | 441854 | 441854 | 23784853118 | 0 | 0 | 17 | 17 | | 2020-04-15 21:59:00 | 355627 | 355627 | 26101982742 | 5 | 8 | 0 | 13 | | 2020-04-15 21:58:00 | 354603 | 354603 | 26160565341 | 0 | 0 | 0 | 0 | | 2020-04-15 21:57:00 | 298823 | 298823 | 23877821442 | 0 | 2 | 0 | 2 | +---------------------+----------------+------------+-------------------+-------------+------------+--------------+-------------+
Esempio 3: tabelle con il maggior traffico in entrata
Il seguente esempio restituisce le statistiche di importazione dell'API BigQuery Storage Write per le 10 tabelle dell'organizzazione del progetto con il maggior traffico in entrata:
SELECT project_id, dataset_id, table_id, SUM(total_rows) AS num_rows, SUM(total_input_bytes) AS num_bytes, SUM(total_requests) AS num_requests FROM `region-us`.INFORMATION_SCHEMA.WRITE_API_TIMELINE_BY_ORGANIZATION GROUP BY project_id, dataset_id, table_id ORDER BY num_bytes DESC LIMIT 10;
Il risultato è simile al seguente:
+----------------------+------------+-------------------------------+------------+----------------+--------------+ | project_id | dataset_id | table_id | num_rows | num_bytes | num_requests | +----------------------+------------+-------------------------------+------------+----------------+--------------+ | my-project1 | dataset1 | table1 | 8016725532 | 73787301876979 | 8016725532 | | my-project2 | dataset1 | table2 | 26319580 | 34199853725409 | 26319580 | | my-project1 | dataset2 | table1 | 38355294 | 22879180658120 | 38355294 | | my-project3 | dataset1 | table3 | 270126906 | 17594235226765 | 270126906 | | my-project2 | dataset2 | table2 | 95511309 | 17376036299631 | 95511309 | | my-project2 | dataset2 | table3 | 46500443 | 12834920497777 | 46500443 | | my-project3 | dataset2 | table4 | 25846270 | 7487917957360 | 25846270 | | my-project4 | dataset1 | table4 | 18318404 | 5665113765882 | 18318404 | | my-project4 | dataset1 | table5 | 42829431 | 5343969665771 | 42829431 | | my-project4 | dataset1 | table6 | 8771021 | 5119004622353 | 8771021 | +----------------------+------------+-------------------------------+------------+----------------+--------------+