Google bigquery 如何知道每次成功查询时GCP BigQuery中使用的CPU/RAM资源以及成本详细信息

Google bigquery 如何知道每次成功查询时GCP BigQuery中使用的CPU/RAM资源以及成本详细信息,google-bigquery,Google Bigquery,虽然之前也提出过同样的问题,但没有得到公认的答案: 问题很简单,对于BigQuery中执行的每个成功查询,我如何知道消耗了多少计算资源?使用了多少CPU核心、RAM?查询是如何收费的 以下示例来自GCP上的作业执行: 多谢各位 [更新] 一些SOER建议进行试运行,我试过了 bq query "SELECT COUNT(1) as rowcount, COUNTIF(corpus = 'hamlet') as rowcount_hamlet FROM publicdata.samples.s

虽然之前也提出过同样的问题,但没有得到公认的答案:

问题很简单,对于BigQuery中执行的每个成功查询,我如何知道消耗了多少计算资源?使用了多少CPU核心、RAM?查询是如何收费的

以下示例来自GCP上的作业执行:

多谢各位

[更新]

一些SOER建议进行试运行,我试过了

bq query "SELECT COUNT(1) as rowcount, COUNTIF(corpus = 'hamlet') as rowcount_hamlet FROM publicdata.samples.shakespeare order by rowcount_hamlet desc" --dry-run=true 

bq query "SELECT COUNT(1) as rowcount, COUNTIF(corpus = 'hamlet') as rowcount_hamlet FROM publicdata.samples.shakespeare order by rowcount_hamlet desc" dry-run=true 

两个都不为我工作。有人能建议正确的格式吗?

看起来像是云数据流指标的屏幕截图,而不是BigQuery。BigQuery是一个完全管理的服务。这意味着运行您的查询的所有基础结构都是从您那里抽象出来的。但是,您可以分析的是每个查询使用的
插槽数
,以及用于了解运行查询所消耗的操作系统资源的数量。您需要深入了解
[slot][2]
指标。从内存来看,插槽大约是CPU核心的一半,大约是1GB的RAM。

要使用API或客户端库时,必须使用CLI中的
--dry_run
标志和作业配置中的
dry run
参数,然后使用估算成本。

以下是文档中的查询示例:

bq query \
--use_legacy_sql=false \
--dry_run \
'SELECT
   COUNTRY,
   AIRPORT,
   IATA
 FROM
   `project_id`.dataset.airports
 LIMIT
   1000'


我建议您通读以控制成本。

谢谢,执行详细信息似乎只有在查询已经执行后才可用,如果我错了,请更正。我知道我可以在Cloudera Hive/Impala中提前检查计划,BigQuery是否也提前提供了这些信息?如果是的话,你能发布一个截图吗?此外,如果我在BigQuery中执行一个查询,我是否可以假设在后端实际上有一个作业?如果是,我在哪里可以看到工作的id?我这样问是因为我可能需要根据此文档通过作业id检索查询计划信息:
https://cloud.google.com/bigquery/docs/reference/rest/v2/jobs/get
,谢谢Graham。“对于BigQuery中执行的每一个成功的查询”-我认为您需要已经执行的查询的统计信息?如果要检查查询成本,但不运行它,可以使用
dry run=true
。但是,在运行查询之前,我不知道有什么能给你提供更多的查询信息(我可能是错的)。谢谢你,格雷厄姆,我只是试着设置dry run=true,tware
253 bq query“选择COUNT(1)作为rowcount,COUNTIF(corpus='hamlet')作为rowcount\u hamlet从publicdata.samples.shakespeare order by rowcount\u hamlet desc”--dry run=true
254 bq query“选择COUNT(1)作为行计数,COUNTIF(语料库='hamlet')作为publicdata.samples.shakespeare order by rowcount_hamlet desc”dry run=true
不适用于我。你能告诉我正确的格式吗?谢谢你。谢谢你的计算器,这很好,但是,请原谅我在这里的愚蠢问题:对于大查询,似乎每个人都可以使用它,甚至不创建项目,如果它只是为了在公共数据集上练习,这意味着在这种情况下它是免费的?是的,定价计算器是免费的,你不需要创建项目就可以使用它。在上查询时,每月第一个1TB是免费的,取决于。欢迎您。如果答案解决了您的问题,请提醒您接受答案,以便在将来的案例中帮助社区。感谢您的提醒,我正在等待是否有人可以与dry run共享一个工作查询,我在给Graham的评论中提到,应该在OP中对其进行修改。它是带有下划线的
--dry_run
。您只需添加标志,不要将其设置为True或False。我将编辑我的答案以添加文档中提供的示例查询。