在多个用户之间共享BigQuery的缓存

时间:2016-01-04 22:47:23

标签: google-bigquery

据我了解,BigQuery的caching机制是基于每个用户。但我们希望能够在项目/数据集/表级别上共享缓存。

例如,John& Mary都在同一个Google项目XYZ上工作。他们喜欢使用BigQuery,并且都在查询数据集Bar中的表Foo,即XYZ:Foo.Bar,以便从他们的数据中获得美丽的见解。

John登录并针对XYZ:Foo.Bar写入一个查询,需要10秒才能执行。几分钟后,Mary登录并在XYZ:Foo.Bar上撰写完全相同的查询。它也需要10秒钟,但她没有得到缓存命中。

是否可以执行任何操作来跨用户共享查询缓存,即在项目/数据集/表级别?或者我错过了一些明显的东西?

1 个答案:

答案 0 :(得分:3)

出于隐私原因,BigQuery不会在用户之间共享缓存 - 但这可能是一个有趣的功能请求:https://code.google.com/p/google-bigquery/

您今天可以实现的替代方案是代表您的用户使用服务帐户连接到BigQuery的代理。例如,使用http://demo.redash.io时,您将获得BigQuery本机缓存和应用程序级缓存。与Datalab相同 - 因为它默认使用服务帐户,因此会为同一项目中的用户缓存结果。