5

我们运行 BigQuery 大约 4 个月了,我们对定价有一些有趣的观察和问题:

  1. 定价模型非常难以解释,需要对连接、联合等进行解释
  2. 如果我在小表上运行连接,我处理的数据将增加每个在 bigquery 引擎中相乘的小表副本?
  3. 如果我在查询中重复使用相同的子查询,这是新的数据处理,不管它是相同的子查询吗?这可以以任何方式优化吗?bigquery 不会缓存它的数据吗?
  4. 数据处理是否有四舍五入的最小大小?我们的观察认为它是 4MB,这是正确的吗?
  5. 在 Google Console 中,地理位置存在问题,它说大多数查询都是从 CA 完成的,这是不正确的,因为我的公司在欧洲并且所有开发都在那里完成。我检查了所有IP地址,没有CA ip。是否可以获得更详细的报告?
  6. 关于 5,我们想获取每个查询的历史记录和价格。我们应该怎么做?我们的软件必须这样做吗?
  7. 关于3)我在数据处理方面遇到了这个巨大的问题(这就是我问所有问题的原因)。我的整个数据集大约有 150mb 大,但每个查询的 DP 大小是 3 倍?如果 bigquery 读取我的全部数据,它不会达到它在处理的数据上显示的大小。什么时候会重新读取数据并因此发生新的 DP?你怎么计算这个?

谢谢你。

问候, 托米斯拉夫

4

2 回答 2

3
  1. 连接、联合等的定价非常简单。无论需要读取什么源数据,都只收取一次费用。例如,如果您进行自联接,您仍然只需为单次读取数据付费。
  2. 见#1。无论 bigquery 在内部如何运作,您都应该只收取一次费用。
  3. BigQuery 会尽最大努力缓存数据。如果您重新运行查询,则会检查缓存。如果缓存命中,则不会因重新运行查询而收费。请注意,只有完整的查询结果会被缓存;如果您修改查询或在子查询中使用它,则不会使用缓存。
  4. BigQuery 最多以 1MB 为增量四舍五入,最小为 10MB。
  5. 我不知道谷歌控制台中的任何地理位置。您在哪里看到这些信息?
  6. 您可以通过 jobs.list api 获取查询历史记录和每个查询处理的数据量。
  7. 您能否发送您运行的查询的作业 ID 大于预期。完成的计算是 8 字节 *(读取的整数和浮点列的行数)+ 2 字节 *(读取的字符串列中所有字符串的总长度)。

让我知道这是否回答了您的问题。

于 2013-04-22T16:08:15.573 回答
0

我可以为#5 提供说明。

在 Google API 控制台的 REPORTS 下,有与项目的 API 请求有关的人口统计信息。我怀疑这与 BigQuery 本身的关系不大,而与 Google API 控制台有关。

于 2013-04-24T16:18:54.967 回答