在BigQuery中,我们如何获得给定查询的成本?我们正在进行大量高计算查询 - https://cloud.google.com/bigquery/pricing#high-compute - 通常会将处理的数据乘以2或更多。
有没有办法用结果集获取查询的“成本”?
答案 0 :(得分:2)
对于API或CLI,您可以使用平面--dry_run
来验证查询而不是运行它,如下所示:
cat ../query.sql | bq query --use_legacy_sql=False --dry_run
输出:
查询已成功验证。假设表未被修改, 运行此查询将处理9614741466字节的数据。
对于费用,只需将总字节数除以1024 ^ 4
,将结果乘以5
,然后乘以您所在的Billing Tier
,即可获得预期费用($ 0.043 in this例子)。
如果您已经运行了查询并想知道它处理了多少,您可以运行:
bq show -j (job_id of your query)
它将返回Bytes Billed and Billing Tier(看起来你还需要进行成本计算的数学计算)。
对于WebUI,您可以安装BQMate,它已经为您估算了费用(但您仍需要适应您的结算等级)。
作为最终建议,有时可以通过优化查询过程数据的方式来大大提高分析的性能(在我们公司,我们现在有几个高计算查询,现在通过使用{{3}等功能正常处理数据例如)。