Google cloud platform HLL+;Google BigQuery的精度

Google cloud platform HLL+;Google BigQuery的精度,google-cloud-platform,google-bigquery,hyperloglog,Google Cloud Platform,Google Bigquery,Hyperloglog,使用HLL.INIT(…)和HLL.MERGE(…)的精度如下所述: 然而,我想知道是否有基数大小,在这一点下HLL是保证准确的。例如,如果我有10个不同的值,并且我在不同的区域将它们“合并”在一起,那么每次都是100%准确的,还是会受到HLL错误范围的影响?换言之,HLL精度的每一级是否都有一个保证的上限,在此上限下有100%的保证精度?如果是,如何确定每个精度级别的精度 如果我有10个不同的值,并且我在不同的区域将它们“合并”在一起,那么每次都是100%准确的,还是会受到HLL误差范围的影

使用
HLL.INIT(…)
HLL.MERGE(…)
的精度如下所述:

然而,我想知道是否有基数大小,在这一点下HLL是保证准确的。例如,如果我有10个不同的值,并且我在不同的区域将它们“合并”在一起,那么每次都是100%准确的,还是会受到HLL错误范围的影响?换言之,HLL
精度的每一级是否都有一个保证的上限,在此上限下有100%的保证精度?如果是,如何确定每个精度级别的精度

如果我有10个不同的值,并且我在不同的区域将它们“合并”在一起,那么每次都是100%准确的,还是会受到HLL误差范围的影响

对于相同的输入,输出应该相同。实际上,对于相同的输入,BigQuery可以使用缓存结果,因此,如果一次100%准确,那么每次都是

HLL精度的每一级是否有一个保证的上限,在此上限下有100%的保证精度?如果是,如何确定每个精度级别的精度


不,HLL++提供估计值。对于任何基数大小和/或精度级别,都不能保证100%的准确性。如果您希望获得100%的准确率,请使用计数(不同的…

查看:-您需要从there@MikhailBerlyant是的,我开始读这篇文章,但我仍然不确定“它的确切位置”,如果我害怕猜测的话——但现在我们开始——我怀疑你的问题是否有肯定的答案。我提供了该文档的链接,以防您想阅读更多内容并对Google的HLL+有更多了解。显然,这是一个伟大的问题(+1)!希望谷歌团队的人能对此有所了解。我想知道为什么知道这个案例的确切行为很重要。@FelipeHoffa如果它从来都不正确,我就不会使用它(除非其他地方有我无法解决的内存限制)只有一种情况HLL++是准确的:它可以准确地说没有条目(结果为零)。任何其他值(1或更高)都是估计值。例如,如果报告一个,实际上可能不止一个。(实际上,在如此低的基数下,使用了线性计数,但这只是一个实现细节。)