【问题标题】:BigQuery not using cached resultsBigQuery 不使用缓存结果
【发布时间】:2019-02-18 03:23:43
【问题描述】:

我的项目似乎没有使用缓存的 BigQuery 表进行后续查询。我正在测试一个简单的:

SELECT
  count(column)
FROM
  table

在控制台 UI 中,每次它仍在处理和计费。

我正在使用流式处理 API (python 3.7) 添加到此表,但上次修改表时间超过 30 分钟,因此缓存不应失效。

我还确认“使用缓存结果”已打开。

提前致谢

【问题讨论】:

  • 您好康兰,在您的场景缓存查询中跟随 vinoaj 的答案不可用。但是如果你必须使用缓存查询(预算问题),也许你可以按照 table 的查询结果创建另一个表并定期更新这个新表的方法。使用 Cloud Scheduler + Cloud Function,您可以编写此解决方案。点击链接可以帮助您:cloud.google.com/scheduler/docs/tut-pub-sub
  • 好的,谢谢hkanjih,我看看这个。

标签: python-3.x google-bigquery google-console-developer


【解决方案1】:

因为您使用的是流式表,所以不考虑缓存的结果。 According to Google:

查询结果不被缓存:...当任何被引用的表 查询最近收到了流式插入(流式缓冲区 附加到表中)即使没有新行到达

【讨论】:

  • 嗨 vinoaj,您知道对于“最近收到流式插入”的表来说,这段时间有多长?此表最后一次修改是在 30 多分钟前,是 1 小时、2 小时等时间段。再次感谢您的回复
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-10-10
  • 2016-04-17
  • 1970-01-01
  • 1970-01-01
  • 2023-03-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多