【问题标题】:List all the queries made to BigQuery with their processed bytes列出对 BigQuery 进行的所有查询及其处理的字节
【发布时间】:2019-05-04 14:47:41
【问题描述】:

我想知道 BigQuery API 中是否有方法或任何其他方式可以列出所有查询及其处理的字节。类似于活动页面中列出的内容,但带有 processesBytes 字段:

https://console.cloud.google.com/home/activity?project=coherent-server-125913

我们遇到了结算问题。突然间,我们的 BigQuery 分析成本增加了很多,我们认为我们的收费比预期高出 20 倍(我们检查了 BigQuery API 的所有响应并保存了 processesBytes 字段,考虑到最低收费为 10MB)。

我们可以解决这种差异的唯一方法是列出所有请求并与我们的数字进行比较,看看我们是否没有测量某些东西或者我们是否做错了什么。我们已经打开了计费支持票,他们已将我重定向到 Stackoverflow 以提出问题,因为他们认为这是一个技术问题。

提前致谢!

【问题讨论】:

    标签: google-bigquery


    【解决方案1】:

    而不是检查 totalBytesProcessed - 您应该尝试检查 totalBytesBilled 和 billingTier(请参阅 here) 您可能会跳到高收费级别 - 只是猜测

    【讨论】:

    • 感谢 Mihaill,有时我们在响应对象中只有 totalBytesProcessed。最后我们发现问题在于 Bigquery 每次查询每个表至少需要 10MB。我们认为每个查询需要 10MB。
    • @Mikhail - 只是好奇,假设我有一个消耗 2.3 MB 数据的查询(正如我在 BQ 控制台上看到的那样),我正在查询 1 个大约 2 GB 数据的 BQ 表。那么我的账单是 10MB(考虑到最小值)+ 2.3 = 12.3 MB?
    【解决方案2】:

    检查的最佳位置是 BigQuery 日志。

    这将告诉您运行了哪些查询、运行它们的人员、运行的日期/时间、计费的总字节数等。

    查看日志可能有点乏味,但 BigQuery 允许您将 Bi​​gQuery 日志流式传输到 BigQuery 表中,然后您可以查询该表以识别昂贵的查询。

    我已经这样做了,它可以很好地让您了解您的 BQ 费用。此处更详细地概述了如何执行此操作的过程:https://www.reportsimple.com.au/post/google-bigquery

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-25
      • 2017-10-13
      • 1970-01-01
      • 1970-01-01
      • 2020-08-11
      • 1970-01-01
      相关资源
      最近更新 更多