Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

Ottimizzazioni BigQuery (elenco query)

By Sayle MatthewsJan 30, 20235 min read

Questa pagina è disponibile anche in English, Deutsch, Español, Français, 日本語 e Português.

Una guida introduttiva all'ottimizzazione di costi e performance su BigQuery

Panoramica

Di seguito l'elenco di tutte le query contenute nel repository GitHub di questa serie di articoli, accompagnate da una breve descrizione. Per ogni caso è prevista una query basata sulle viste INFORMATION_SCHEMA e altre due basate sui sink degli audit log di BigQuery. Tra queste ultime troverai una variante generale, riconoscibile dal suffisso "_general" nel nome del file, che analizza tutti i progetti del sink, e una che opera sul singolo progetto, senza alcun suffisso aggiuntivo nel nome.

L'elenco verrà aggiornato man mano che si aggiungeranno nuove query. Detto questo, eventuali richieste di nuove query possono essere lasciate nei commenti e verranno integrate non appena possibile.

Come leggere questo elenco

Poiché Medium non supporta nativamente le tabelle — il formato che sarebbe più adatto a presentare questi dati — ho optato per un elenco puntato, come compromesso tra leggibilità ed eleganza.

La prima riga riporta il nome del file in grassetto e corsivo, la riga successiva la descrizione della query e infine i link in elenco puntato.

L'elenco delle query

  • billing_recommendation_per_query.sql

Restituisce ogni query eseguita nel periodo considerato indicando se sia più conveniente eseguirla con un piano di fatturazione flat-rate o on-demand. La raccomandazione si basa sul numero di slot e sui byte scansionati.

- INFORMATION_SCHEMA

- Audit Log

- Audit Log General

  • concurrent_queries_by_minute.sql

Costruisce una serie temporale sull'intervallo con granularità al minuto e restituisce il numero di query eseguite in concorrenza in quella finestra temporale.

- INFORMATION_SCHEMA

- Audit Log

- Audit Log General

  • concurrent_queries_by_second.sql

Costruisce una serie temporale sull'intervallo con granularità al secondo e restituisce il numero di query eseguite in concorrenza in quella finestra temporale.

- INFORMATION_SCHEMA

- Audit Log

- Audit Log General

  • general_job_information.sql

Restituisce un sottoinsieme di informazioni generali per ogni job eseguito nell'intervallo considerato.

- INFORMATION_SCHEMA

- Audit Log

- Audit Log General

  • load_job_information.sql

Restituisce informazioni generali per ogni load job eseguito nell'intervallo considerato.

- INFORMATION_SCHEMA

- Audit Log

- Audit Log General

  • load_slots_per_minute.sql

Costruisce una serie temporale sull'intervallo con granularità al minuto e restituisce il numero di slot utilizzati dai load job eseguiti in quella finestra temporale.

- INFORMATION_SCHEMA

- Audit Log

- Audit Log General

  • load_slots_per_second.sql

Costruisce una serie temporale sull'intervallo con granularità al secondo e restituisce il numero di slot utilizzati dai load job eseguiti in quella finestra temporale.

- INFORMATION_SCHEMA

- Audit Log

- Audit Log General

  • longest_running_queries.sql

Restituisce tutte le query eseguite nell'intervallo con i relativi dati di pricing, ordinate dalla più lunga alla più breve per durata di esecuzione.

- INFORMATION_SCHEMA

- Audit Log

- Audit Log General

  • looker_job_information.sql

Restituisce informazioni generali per ogni job eseguito nell'intervallo considerato che sia associato a un service account di Looker.

- INFORMATION_SCHEMA

- Audit Log

- Audit Log General

  • query_counts.sql

Restituisce ogni query eseguita nell'intervallo insieme al numero di esecuzioni, ordinate dalle più frequenti alle meno frequenti.

- INFORMATION_SCHEMA

- Audit Log

- Audit Log General

  • query_job_information.sql

Restituisce informazioni generali per ogni query job eseguito nell'intervallo considerato.

- INFORMATION_SCHEMA

- Audit Log

- Audit Log General

  • query_slots_per_minute.sql

Costruisce una serie temporale sull'intervallo con granularità al minuto e restituisce il numero di slot utilizzati dai query job eseguiti in quella finestra temporale.

- INFORMATION_SCHEMA

- Audit Log

- Audit Log General

  • query_slots_per_second.sql

Costruisce una serie temporale sull'intervallo con granularità al secondo e restituisce il numero di slot utilizzati dai query job eseguiti in quella finestra temporale.

- INFORMATION_SCHEMA

- Audit Log

- Audit Log General

  • slots_by_day.sql

Costruisce una serie temporale sull'intervallo con granularità giornaliera e restituisce il numero di slot utilizzati da tutti i job eseguiti in quella finestra temporale.

- INFORMATION_SCHEMA

- Audit Log

- Audit Log General

  • slots_by_hour.sql

Costruisce una serie temporale sull'intervallo con granularità oraria e restituisce il numero di slot utilizzati da tutti i job eseguiti in quella finestra temporale.

- INFORMATION_SCHEMA

- Audit Log

- Audit Log General

  • slots_by_minute.sql

Costruisce una serie temporale sull'intervallo con granularità al minuto e restituisce il numero di slot utilizzati da tutti i job eseguiti in quella finestra temporale.

- INFORMATION_SCHEMA

- Audit Log

- Audit Log General

  • slots_by_minute_and_user.sql

Costruisce una serie temporale sull'intervallo con granularità al minuto e restituisce il numero di slot utilizzati da tutti i job eseguiti in quella finestra temporale, raggruppati per utente esecutore.

- INFORMATION_SCHEMA

- Audit Log

- Audit Log General

  • slots_by_second.sql

Costruisce una serie temporale sull'intervallo con granularità al secondo e restituisce il numero di slot utilizzati da tutti i job eseguiti in quella finestra temporale.

- INFORMATION_SCHEMA

- Audit Log

- Audit Log General

  • table_query_counts.sql

Restituisce il numero di job che hanno coinvolto una tabella nell'intervallo considerato. Attenzione: se una tabella esiste ma non viene interrogata da alcun job, non comparirà tra i risultati.

- INFORMATION_SCHEMA

- Audit Log

- Audit Log General

  • top_billed_labels.sql

Restituisce i costi suddivisi per label applicati ai job nell'intervallo considerato. L'elenco è ordinato dalle label più costose alle meno costose.

- INFORMATION_SCHEMA

- Audit Log

- Audit Log General

  • top_billed_queries.sql

Restituisce i query job eseguiti nell'intervallo considerato, ordinati per costo fatturato dal più alto al più basso.

Nota: i risultati possono contenere duplicati se uno stesso job viene eseguito più volte con gli stessi parametri.

- INFORMATION_SCHEMA

- Audit Log

- Audit Log General

  • top_billed_queries_deduplicated.sql

Restituisce i query job eseguiti nell'intervallo considerato, ordinati per costo fatturato dal più alto al più basso.

Nota: questa query deduplica i job e restituisce una sola riga per ciascuno. È molto più lenta della query precedente.

- INFORMATION_SCHEMA

- Audit Log

- Audit Log General

  • top_complex_queries.sql

Restituisce i query job ordinati dal più complesso al meno complesso. La complessità è misurata in base al numero di slot impiegati per completare l'elaborazione.

- INFORMATION_SCHEMA

- Audit Log

- Audit Log General

  • top_cost_users.sql

Restituisce gli utenti che hanno avviato job e quanto hanno speso, ordinati dalla spesa più alta alla più bassa. Nota: l'elenco comprende anche i service account.

- INFORMATION_SCHEMA

- Audit Log

- Audit Log General

  • top_costly_queries.sql

Restituisce i query job eseguiti nell'intervallo considerato con il costo totale, includendo nel calcolo le esecuzioni multiple. I risultati sono ordinati dal più costoso al meno costoso.

- INFORMATION_SCHEMA

- Audit Log

- Audit Log General