首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过SQL查询获取特定于表的成本

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

Stack Overflow用户
提问于 2017-04-07 17:43:42
回答 2查看 192关注 0票数 2

是否有我可以运行的查询来确定对每个表的查询要花费多少?例如,该查询的结果至少包括如下内容:

dataset.table1 236 etc加工dataset.table2 56 etc加工dataset.table3 24 etc加工等

另外,有什么方法可以知道哪些特定的查询会使我们损失最大?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-04-07 20:01:40

代码语言:javascript
运行
复制
Let's talk first about data and respective data-points to do such a query!   

看看Job Resources

在这里,您有一些有用的属性

要执行的configuration.query.query - BigQuery查询。

statistics.query.referencedTables引用的作业表。

statistics.query.totalBytesBilled -为作业计费的总字节数。statistics.query.totalBytesProcessed -为作业处理的总字节。

statistics.query.billingTier -为这项工作收取费用.

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

代码语言:javascript
运行
复制
So, now  - how to get this data available?   

您可以使用Job.list API和than循环通过所有可用作业收集作业,并通过Job.get API检索各自的统计数据--当然,将检索到的数据转储到BigQuery表中。比你喜欢分析的还要多!

或者,您可以使用BigQuery的审计日志跟踪访问和成本细节(如docs中所述),并将它们导出回BigQuery进行分析。

前一个选项(Jobs.list和Job.get in循环)使您能够获得作业信息,即使您还没有启用审计日志,因为Job.get API返回有关创建后6个月内可用的特定作业的信息--所以有大量的数据可用于分析!

票数 2
EN

Stack Overflow用户

发布于 2021-05-22 20:53:21

据我目前的理解,每个表都不可能得到处理过的字节。根据我的理解,这将是一个很好的特性,您可以通过它来识别和优化成本,并且有更好的可能性来理解分区和集群更改的有效性。当前,只可能获取查询的总计处理字节,并查看引用了哪些表。但是,由于没有简单的查询和查询,因此可以在表级别上分析这一成本,这一级别比查询级别更大。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43284179

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档