我应该何时更喜欢批量分析而非交互式分析?

时间:2014-03-26 07:29:36

标签: google-bigquery

使用批量查询而不是交互式模式查询的动机是定价,但随着更新的价格变化,不再存在成本差异 - 所以还有其他任何激励(配额,性能,其他......)使用批量查询?

1 个答案:

答案 0 :(得分:14)

随着价格的变化,使用批处理优先级有两个主要原因:

  • 它可以让你排队工作。
  • 它允许您以不会影响高优先级查询的方式运行低优先级查询。

有许多速率限制会影响交互式(即非批处理)查询 - 您最多可以同时运行20个,并发字节限制和“大查询”#39;限制。如果达到这些限制,查询将立即失败。这是因为BigQuery假定您需要立即运行交互式查询。

当您使用批处理时,如果您达到了速率限制,则查询将排队并稍后重试。仍然存在类似的速率限制,但它们与交互式速率限制分开运行,因此您的批量查询不会影响您的交互式限制。

一个示例可能是您定期查询每天或每小时运行以构建仪表板。也许您有100个想要运行的查询。如果您尝试以交互方式一次性运行它们,则有些会因并发速率限制而失败。此外,您不一定希望这些查询干扰您从BigQuery Web UI手动运行的其他查询。因此,您可以批处理优先级运行仪表板查询,其他查询将以交互方式正常运行。

另外需要注意的一点是批量查询的计划已经改变,因此平均等待时间应该会大幅下降。批处理查询应该在一两分钟内开始(取决于排队等),而不是等待半小时左右。