Bigquery改善准确性问题

时间:2012-05-09 09:59:57

标签: google-bigquery

我们有一个问题是提高BigQuery的准确性,我们使用的情况如下,我们使用的是1600万条记录表,一张表对我们的问题不大,我们正在努力寻找独特的用户。

首先,我们考虑使用" count distinct",但是当文档告知大量数据时,您会获得估算结果。为了改善这一点,我们尝试了" count + group by"代替"数量不同"声明。但是bigquery的结果反应太大了。我们首先按用户ID分组,我们继续这个想法,但减少数据的数量,选择一个特定的活动,大幅减少数据量。但结果是一样的,反应太大了。

关于如何获取独特用户的任何想法或意见,在bigQuery中使用accuray?

1 个答案:

答案 0 :(得分:3)

正如您所知,

COUNT(DISTINCT field)会返回一个近似答案。您可以通过将COUNT(DISTINCT field, n)用于较大的N值来提高准确度。此值越大,结果就越准确,但如果设置得太高,可能会遇到“结果太大”的错误。

您可以使用GROUP EACH BY获取确切的唯一计数。这可能使得在同一查询中计算其他值变得困难,但GROUP EACH BY将适用于任何大小的表。例如:

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