Get a free observability report to evaluate the potential savingsContact us →
费用分析3 分钟阅读

按用户分析 BigQuery 费用

了解哪些用户产生最多的 BigQuery 费用是控制云账单的第一步。此查询在可配置的时间窗口内按总按需费用对每个用户进行排名,让您快速找到最大的消耗者。

为什么重要

没有用户级别的费用归因,企业往往难以识别谁对意外的账单峰值负责。单个运行未优化的临时查询的用户可能轻易占项目总支出的 30-50%。通过显示每用户费用,您可以进行有针对性的对话、设置预算并优先考虑培训。

工作原理

BigQuery 的 INFORMATION_SCHEMA.JOBS_BY_PROJECT 视图包含项目中每个作业的元数据,包括用户电子邮件、总计费字节数和槽位使用情况。此查询按用户汇总 total_bytes_billed,并使用 Google 当前每 TiB 6.25 美元的定价将其转换为估算的按需费用。

SQL 查询

Fill in your details to get a ready-to-run query:

SQL
-- 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 DESC
将 your-project 和 region-us 替换为您的 GCP 项目和数据集区域。

查询说明

查询从 INFORMATION_SCHEMA.JOBS_BY_PROJECT 中收集回溯窗口内每个已完成的查询作业。使用按 job_id 分区的 ROW_NUMBER() 对作业进行去重(BigQuery 可能多次记录同一作业)。然后按 user_email 分组,对 total_bytes_billed 求和,并将字节转换为 TiB(除以 1024^4),再乘以 $6.25/TiB 的按需价格。

关键洞察

  • lightbulb

    少数用户通常占大多数费用——检查前 3 名用户是否占总支出的 50% 以上。

  • lightbulb

    服务账户(dbt、Looker、Airflow)经常名列前茅,因为它们大规模运行计划查询。

  • lightbulb

    费用高但查询数量少的用户可能正在运行扫描大量数据的未优化查询。

  • lightbulb

    逐周比较用户费用以检测行为的突然变化。

最佳实践

  1. 1

    设置 BigQuery 自定义费用控制,以限制每个用户每天计费的字节数。

  2. 2

    对交互式/临时查询要求 LIMIT 子句或分区过滤器。

  3. 3

    在计划查询作业上使用标签,以便将自动化费用与人工驱动的费用分开。

  4. 4

    与工程主管分享此报告,以便他们能够指导团队成员掌握查询最佳实践。

想让 CloudClerk 自动找到这些节省吗?

我们的平台连接到您的 BigQuery 项目,自动运行这些分析,并提供 AI 驱动的优化建议——所有数据完全匿名。

相关指南