Google bigquery Bigquery改善了准确性问题

Google bigquery Bigquery改善了准确性问题,google-bigquery,Google Bigquery,我们在提高BigQuery的准确性方面遇到了一个问题,我们的使用案例如下,我们正在使用一个16亿条记录的表,一个不太大的表来解决我们的问题,我们正在尝试寻找唯一的用户 首先,我们想使用“count distinct”,但正如文档所述,对于大量数据,您可以获得一个估计结果。为了改进这一点,我们尝试用“count+groupby”代替“countdistinct”语句。但是bigquery的结果是响应太大。我们首先按照用户ID进行分组,我们继续这个想法,但是减少了数据的数量,选择了一个特定的营地,大

我们在提高BigQuery的准确性方面遇到了一个问题,我们的使用案例如下,我们正在使用一个16亿条记录的表,一个不太大的表来解决我们的问题,我们正在尝试寻找唯一的用户

首先,我们想使用“count distinct”,但正如文档所述,对于大量数据,您可以获得一个估计结果。为了改进这一点,我们尝试用“count+groupby”代替“countdistinct”语句。但是bigquery的结果是响应太大。我们首先按照用户ID进行分组,我们继续这个想法,但是减少了数据的数量,选择了一个特定的营地,大大减少了数据量。但结果是一样的,反应太大

关于如何使用accuray在bigQuery中获得唯一用户的任何想法或意见?

计数(不同字段)
会返回一个大致答案,正如您所意识到的那样。您可以使用
COUNT(DISTINCT field,n)
来提高精度,因为n的值越大,结果越准确,尽管如果设置得太高,可能会出现“result too large”错误

您可以通过使用GROUP by获得确切的唯一计数。这可能会使计算同一查询中的其他值变得困难,但“分组依据”将在任何大小的表上工作。例如:

select count(*) from (select field from dataset.table GROUP EACH BY field)

遗憾的是,没有提高结果的准确性,也没有准确的错误率函数。无论如何,谢谢你的帮助。阿耳特弥斯-自2012年最初回答以来,答案已经改变了。您现在可以获得任意大的唯一结果。