Google bigquery 通过SQL查询获取特定于表的成本

Google bigquery 通过SQL查询获取特定于表的成本,google-bigquery,Google Bigquery,我是否可以运行查询来确定针对每个表的查询花费了我们多少成本?例如,此查询的结果至少包括以下内容: dataset.table1 236TB已处理dataset.table2 56GB已处理dataset.table3 24kB已处理等 还有没有办法知道哪些特定的查询花费我们最多 谢谢 Let's talk first about data and respective data-points to do such a query! 看看 这里你有一些有用的属性 -要执行的BigQuery

我是否可以运行查询来确定针对每个表的查询花费了我们多少成本?例如,此查询的结果至少包括以下内容:

dataset.table1 236TB已处理dataset.table2 56GB已处理dataset.table3 24kB已处理等

还有没有办法知道哪些特定的查询花费我们最多

谢谢

Let's talk first about data and respective data-points to do such a query!   
看看
这里你有一些有用的属性

-要执行的BigQuery SQL查询。
-作业的引用表。
-为作业计费的总字节数。 -为作业处理的总字节数。
-作业的计费层

拥有以上数据点将允许您编写相对简单的查询,以回答您的每查询成本和每表成本问题

So, now  - how to get this data available?   
您可以使用API收集作业,然后循环遍历所有可用作业,并通过API检索各自的统计数据——当然,将检索到的数据转储到BigQuery表中。你可以享受分析

或者,您可以使用BigQuery的审核日志跟踪访问和成本详细信息(如中所述),并将其导出回BigQuery进行分析


前一个选项(Jobs.list和than Job.get-in-loop))使您能够获取作业信息,即使您尚未启用审核日志,因为Job.get API返回特定作业的信息,该作业在创建后的六个月内可用,因此有大量数据可供分析

根据我目前的理解,不可能为每个表获取已处理的字节。 据我所知,这将是一个很好的特性,通过它,您可以识别和优化成本,并且可以更好地了解分区和集群更改的有效性。目前,仅可以获取查询的totalprocessed字节,并查看引用了哪些表。但是没有简单的查询,也没有任何查询可以在比查询级别更大的表级别上分析此成本