Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

Optimizaciones de BigQuery (lista de queries)

By Sayle MatthewsJan 30, 20235 min read

Esta página también está disponible en English, Deutsch, Français, Italiano, 日本語 y Português.

Guía introductoria a las optimizaciones de costo y rendimiento en BigQuery

Resumen

A continuación encontrarás todas las queries que están en el repositorio de GitHub de esta serie de artículos, con una breve descripción de cada una. Ten en cuenta que hay una query que usa las vistas de INFORMATION_SCHEMA y otras dos que se apoyan en los sinks del audit log de BigQuery. Dentro de estas últimas hay una query general, identificada con "_general" en el nombre del archivo, que recorre todos los proyectos del sink, y otra que se ejecuta proyecto por proyecto y no lleva sufijo adicional en el nombre.

Iré actualizando la lista a medida que sume queries nuevas. Dicho esto, si quieres pedir alguna query, déjala en los comentarios y la iré agregando cuando el tiempo lo permita.

Cómo leer esta lista

Como Medium no soporta tablas de forma nativa —que sería la manera lógica de presentar estos datos—, opté por una lista con viñetas como un punto medio cómodo entre legibilidad y prolijidad.

La primera línea es el nombre del archivo en negrita y cursiva; la siguiente, una descripción de la query, y debajo aparecen los enlaces en viñetas.

La lista de queries

  • billing_recommendation_per_query.sql

Devuelve cada query del periodo con una recomendación sobre si se ejecutaría de manera más eficiente bajo un plan de facturación flat-rate u on-demand. Se basa en el conteo de slots y los bytes escaneados para definir la recomendación.

- INFORMATION_SCHEMA

- Audit Log

- Audit Log General

  • concurrent_queries_by_minute.sql

Arma una serie temporal del intervalo, minuto a minuto, y devuelve la cantidad de queries concurrentes que se ejecutaron en ese lapso.

- INFORMATION_SCHEMA

- Audit Log

- Audit Log General

  • concurrent_queries_by_second.sql

Arma una serie temporal del intervalo, segundo a segundo, y devuelve la cantidad de queries concurrentes que se ejecutaron en ese lapso.

- INFORMATION_SCHEMA

- Audit Log

- Audit Log General

  • general_job_information.sql

Devuelve un subconjunto de información general de cada job ejecutado durante el periodo.

- INFORMATION_SCHEMA

- Audit Log

- Audit Log General

  • load_job_information.sql

Devuelve información general de cada load job ejecutado durante el periodo.

- INFORMATION_SCHEMA

- Audit Log

- Audit Log General

  • load_slots_per_minute.sql

Arma una serie temporal del intervalo, minuto a minuto, y devuelve la cantidad de slots que consumieron los load jobs ejecutados en ese lapso.

- INFORMATION_SCHEMA

- Audit Log

- Audit Log General

  • load_slots_per_second.sql

Arma una serie temporal del intervalo, segundo a segundo, y devuelve la cantidad de slots que consumieron los load jobs ejecutados en ese lapso.

- INFORMATION_SCHEMA

- Audit Log

- Audit Log General

  • longest_running_queries.sql

Devuelve todas las queries ejecutadas en el intervalo junto con sus datos de costo, ordenadas de la de mayor duración a la más corta.

- INFORMATION_SCHEMA

- Audit Log

- Audit Log General

  • looker_job_information.sql

Devuelve información general de cada job ejecutado durante el periodo que estuvo asociado a una service account de Looker.

- INFORMATION_SCHEMA

- Audit Log

- Audit Log General

  • query_counts.sql

Devuelve cada query ejecutada en el periodo junto con la cantidad de veces que se corrió, ordenadas de mayor a menor número de ejecuciones.

- INFORMATION_SCHEMA

- Audit Log

- Audit Log General

  • query_job_information.sql

Devuelve información general de cada query job ejecutado durante el periodo.

- INFORMATION_SCHEMA

- Audit Log

- Audit Log General

  • query_slots_per_minute.sql

Arma una serie temporal del intervalo, minuto a minuto, y devuelve la cantidad de slots que consumieron los query jobs ejecutados en ese lapso.

- INFORMATION_SCHEMA

- Audit Log

- Audit Log General

  • query_slots_per_second.sql

Arma una serie temporal del intervalo, segundo a segundo, y devuelve la cantidad de slots que consumieron los query jobs ejecutados en ese lapso.

- INFORMATION_SCHEMA

- Audit Log

- Audit Log General

  • slots_by_day.sql

Arma una serie temporal del intervalo, día a día, y devuelve la cantidad de slots que consumieron todos los jobs ejecutados en ese lapso.

- INFORMATION_SCHEMA

- Audit Log

- Audit Log General

  • slots_by_hour.sql

Arma una serie temporal del intervalo, hora a hora, y devuelve la cantidad de slots que consumieron todos los jobs ejecutados en ese lapso.

- INFORMATION_SCHEMA

- Audit Log

- Audit Log General

  • slots_by_minute.sql

Arma una serie temporal del intervalo, minuto a minuto, y devuelve la cantidad de slots que consumieron todos los jobs ejecutados en ese lapso.

- INFORMATION_SCHEMA

- Audit Log

- Audit Log General

  • slots_by_minute_and_user.sql

Arma una serie temporal del intervalo, minuto a minuto, y devuelve la cantidad de slots que consumieron todos los jobs ejecutados en ese lapso, agrupados por el usuario que los corrió.

- INFORMATION_SCHEMA

- Audit Log

- Audit Log General

  • slots_by_second.sql

Arma una serie temporal del intervalo, segundo a segundo, y devuelve la cantidad de slots que consumieron todos los jobs ejecutados en ese lapso.

- INFORMATION_SCHEMA

- Audit Log

- Audit Log General

  • table_query_counts.sql

Devuelve la cantidad de jobs que consultaron una tabla durante el periodo indicado. Ten en cuenta que, si una tabla existe pero ningún job la consulta, no aparecerá en esta query.

- INFORMATION_SCHEMA

- Audit Log

- Audit Log General

  • top_billed_labels.sql

Devuelve los costos por label aplicado a los jobs durante el periodo indicado, ordenados de los labels más costosos a los menos costosos.

- INFORMATION_SCHEMA

- Audit Log

- Audit Log General

  • top_billed_queries.sql

Devuelve los query jobs ejecutados durante el periodo indicado, ordenados por su costo facturado, de mayor a menor.

Ten en cuenta que el resultado puede contener duplicados si un mismo job se ejecuta varias veces con los mismos parámetros.

- INFORMATION_SCHEMA

- Audit Log

- Audit Log General

  • top_billed_queries_deduplicated.sql

Devuelve los query jobs ejecutados durante el periodo indicado, ordenados por su costo facturado, de mayor a menor.

Ten en cuenta que esta query deduplica los jobs y devuelve una sola fila por job. Se ejecuta bastante más lento que la anterior.

- INFORMATION_SCHEMA

- Audit Log

- Audit Log General

  • top_complex_queries.sql

Devuelve los query jobs ordenados de los más complejos a los menos complejos. La complejidad se mide por la cantidad de slots que se usaron para completar el procesamiento.

- INFORMATION_SCHEMA

- Audit Log

- Audit Log General

  • top_cost_users.sql

Devuelve los usuarios que iniciaron jobs y cuánto gastaron, ordenados de mayor a menor costo. Ten en cuenta que también incluye service accounts.

- INFORMATION_SCHEMA

- Audit Log

- Audit Log General

  • top_costly_queries.sql

Devuelve los query jobs ejecutados durante el periodo indicado con su costo total, contemplando varias ejecuciones en el cálculo. Los resultados se ordenan de los más costosos a los menos costosos.

- INFORMATION_SCHEMA

- Audit Log

- Audit Log General