跨多个用户共享 BigQuery 的缓存
Posted
技术标签:
【中文标题】跨多个用户共享 BigQuery 的缓存【英文标题】:Sharing BigQuery's cache across multiple users 【发布时间】:2016-01-04 22:47:23 【问题描述】:据我了解,BigQuery 的caching 机制是基于每个用户的。但我们希望能够在项目/数据集/表级别共享缓存。
例如,John 和 Mary 都在同一个 Google 项目 XYZ
上工作。他们喜欢使用 BigQuery,并且都在数据集 Foo
即 XYZ:Foo.Bar
中查询表 Bar
,以从他们的数据中获得美丽的见解。
John 登录并针对 XYZ:Foo.Bar
编写查询,执行需要 10 秒。几分钟后,Mary 登录并在XYZ:Foo.Bar
上编写exact 相同的查询。这也需要 10 秒,但她没有得到缓存命中。
有什么办法可以在用户之间共享查询缓存,即在项目/数据集/表级别?还是我遗漏了一些明显的东西?
【问题讨论】:
【参考方案1】:出于隐私原因,BigQuery 不会在用户之间共享缓存 - 但它可能是一个有趣的功能请求:https://code.google.com/p/google-bigquery/。
您今天可以实施的替代方案是使用服务帐号代表您的用户连接到 BigQuery 的代理。例如,在使用 http://demo.redash.io 时,您会获得 BigQuery 原生缓存和应用级缓存。与 Datalab 相同 - 因为它默认使用服务帐户,所以会为同一项目中的用户缓存结果。
【讨论】:
感谢费利佩!以上是关于跨多个用户共享 BigQuery 的缓存的主要内容,如果未能解决你的问题,请参考以下文章
sql [BigQuery - Facebook产品目录]查询para obtenerelcatálogodeproductos de Kichink。 #facebook #bigqu