在BigQuery中用什么算法来实现APPROX_TOP_COUNT?

时间:2017-03-06 12:34:16

标签: google-bigquery approximation

BigQuery表示,近似聚合函数在内存使用和时间方面具有可扩展性,但会生成近似结果而不是精确结果。

我在钻孔或配置单元中找不到这样的功能。 通过集群计算,我们可以轻松获得准确的结果,为什么以及何时应该使用此APPROX_FUNC? 我也希望有人能告诉我APPROX_TOP_COUNT中使用了什么算法? THX!

1 个答案:

答案 0 :(得分:1)

近似函数可用的一个示例是Firebase事件日志分析(StackOverflow上有很多关于BigQuery / Firebase的问题)。例如,如果您只想了解前10个访问量最大的网页,则可以使用APPROX_TOP_COUNT执行分析,这通常比COUNT(*)GROUP BY更快ORDER BY ... LIMIT ... }}

从实现的角度来看,你可以想象如果你只对前10个访问量最大的页面感兴趣,那么可能没有必要将状态保存在内存中以查找不经常访问的页面的长尾,因为它只是去以后再丢弃。

您可以在以下论文中阅读有关近似算法的内容: