如何在BQ中获取查询的成本

时间:2017-06-21 20:49:37

标签: google-bigquery

在BigQuery中,我们如何获得给定查询的成本?我们正在进行大量高计算查询 - https://cloud.google.com/bigquery/pricing#high-compute - 通常会将处理的数据乘以2或更多。

有没有办法用结果集获取查询的“成本”?

1 个答案:

答案 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}等功能正常处理数据例如)。