据我了解,BigQuery 的caching机制是基于每个用户的。但我们希望能够在项目/数据集/表级别上共享缓存。
例如,约翰和玛丽都在同一个 Google 项目上工作XYZ
。他们喜欢使用 BigQuery,并且都查询表Bar
在数据集中Foo
i.e. XYZ:Foo.Bar
从他们的数据中获得美丽的见解。
约翰登录并写入查询XYZ:Foo.Bar
执行需要 10 秒。几分钟后,玛丽登录并撰写了exact相同的查询XYZ:Foo.Bar
。这也需要 10 秒,但她没有获得缓存命中。
是否可以采取任何措施来在用户之间(即在项目/数据集/表级别)共享查询缓存?或者我错过了一些明显的事情?
出于隐私原因,BigQuery 不会在用户之间共享缓存 - 但这可能是一个有趣的功能请求,建议:https://code.google.com/p/google-bigquery/.
您现在可以实施的另一种选择是使用代理,该代理将代表您的用户使用服务帐户连接到 BigQuery。例如,使用时您会获得 BigQuery 本机缓存和应用程序级缓存http://demo.redash.io。与相同Datalab- 由于它默认使用服务帐户,因此会为同一项目中的用户缓存结果。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)