Análisis de costos de BigQuery por usuario
Entender qué usuarios generan más costos en BigQuery es el primer paso para controlar su factura en la nube. Esta consulta clasifica cada usuario por su costo total bajo demanda en una ventana de tiempo configurable, permitiéndole identificar rápidamente a los mayores consumidores.
Por qué importa
Sin atribución de costos a nivel de usuario, las organizaciones a menudo tienen dificultades para identificar quién es responsable de los picos inesperados en la factura. Un solo usuario ejecutando consultas ad hoc no optimizadas puede representar fácilmente entre el 30 y el 50% del gasto total de un proyecto. Al revelar los costos por usuario, puede mantener conversaciones específicas, establecer presupuestos y priorizar la capacitación.
Cómo funciona
La vista INFORMATION_SCHEMA.JOBS_BY_PROJECT de BigQuery contiene metadatos de cada trabajo ejecutado en un proyecto, incluyendo el correo del usuario, el total de bytes facturados y el uso de slots. Esta consulta agrega total_bytes_billed por usuario y lo convierte en un costo estimado bajo demanda usando el precio actual de Google de $6.25 por TiB analizado.
Consulta SQL
Fill in your details to get a ready-to-run query:
-- Rank users by estimated on-demand cost
DECLARE lookback_days INT64 DEFAULT 30;
WITH jobs AS (
SELECT
user_email,
job_id,
COALESCE(total_bytes_billed, 0) AS bytes_billed,
ROW_NUMBER() OVER (PARTITION BY job_id ORDER BY end_time DESC) AS rn
FROM `your-project`.`region-us`.INFORMATION_SCHEMA.JOBS_BY_PROJECT
WHERE creation_time >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL lookback_days DAY)
AND job_type = 'QUERY'
AND state = 'DONE'
AND total_slot_ms IS NOT NULL
),
deduplicated AS (
SELECT user_email, bytes_billed FROM jobs WHERE rn = 1
)
SELECT
user_email,
COUNT(*) AS query_count,
ROUND(SUM(bytes_billed) / POW(1024, 4), 4) AS tib_scanned,
ROUND(SUM(bytes_billed) / POW(1024, 4) * 6.25, 2) AS estimated_cost_usd
FROM deduplicated
GROUP BY user_email
ORDER BY estimated_cost_usd DESCExplicación de la consulta
La consulta recopila cada trabajo de consulta completado desde INFORMATION_SCHEMA.JOBS_BY_PROJECT dentro de la ventana de retención. Deduplica trabajos usando ROW_NUMBER() particionado por job_id (BigQuery puede registrar el mismo trabajo más de una vez). Luego agrupa por user_email, suma total_bytes_billed y convierte bytes a tebibytes (dividiendo por 1024^4) antes de multiplicar por el precio bajo demanda de $6.25/TiB.
Puntos clave
Un pequeño número de usuarios a menudo representa la mayoría de los costos — verifique si los 3 principales usuarios representan más del 50% del gasto total.
Las cuentas de servicio (dbt, Looker, Airflow) frecuentemente encabezan la lista porque ejecutan consultas programadas a escala.
Los usuarios con costos altos pero pocas consultas probablemente ejecutan consultas no optimizadas que analizan grandes cantidades de datos.
Compare los costos por usuario semana a semana para detectar cambios repentinos en el comportamiento.
Mejores prácticas
- 1
Configure controles de costos personalizados de BigQuery para limitar los bytes facturados por usuario por día.
- 2
Requiera cláusulas LIMIT o filtros de partición para consultas interactivas/ad hoc.
- 3
Use etiquetas en los trabajos de consulta programados para separar costos automatizados de los generados por personas.
- 4
Comparta este informe con los líderes de ingeniería para que puedan orientar a los miembros del equipo sobre las mejores prácticas de consultas.
¿Quiere que CloudClerk encuentre estos ahorros automáticamente?
Nuestra plataforma se conecta a su proyecto BigQuery, ejecuta estos análisis automáticamente y entrega recomendaciones de optimización impulsadas por IA — todo con sus datos completamente anonimizados.
Guías relacionadas
Análisis de costos de BigQuery por proyecto
Rastree los costos de BigQuery a través de proyectos GCP. Use INFORMATION_SCHEMA para comparar el gasto a nivel de proyecto y encontrar los proyectos más costosos.
Leer guíaAnálisis de costos de BigQuery por etiqueta
Desglose los costos de BigQuery por etiquetas de trabajos. Atribuya el gasto a equipos, pipelines o funcionalidades usando los pares clave-valor de sus trabajos.
Leer guíaTop consultas de BigQuery por costo
Encuentre las consultas de BigQuery más costosas por costo bajo demanda. Clasifique consultas por total de bytes facturados para identificar los principales impulsores de costos.
Leer guíaAnálisis de costos de BigQuery por consulta
Analice el costo, el uso de slots y el tiempo de ejecución de cada consulta individual. Obtenga un desglose detallado del costo bajo demanda por ejecución de consulta.
Leer guía