BigQuery 数据存储与查询优化指南
1. 近似计数查询
在处理数据时,有时需要计算不同值的数量。可以使用 HLL 函数或 APPROX_COUNT_DISTINCT 函数来实现近似计数。
例如,对于伦敦自行车租赁数据集,使用 HLL 函数的查询如下:
FROM `bigquery-public-data`.london_bicycles.cycle_hire
)
SELECT
HLL_COUNT.MERGE(hll_start) AS distinct_start
, HLL_COUNT.MERGE(hll_end) AS distinct_end
, HLL_COUNT.MERGE(hll_both) AS distinct_station
FROM sketch, UNNEST([hll_start, hll_end]) AS hll_both
该查询返回结果如下:
| Row | distinct_start | distinct_end | distinct_station |
| — | — | — | — |
| 1 | 880 | 882 | 882 |
当然,也可以直接使用 APPROX_COUNT_DISTINCT 函数:
SELECT
APPROX_COUNT_DISTINCT(start_station_name) AS distinct_s
超级会员免费看
订阅专栏 解锁全文
28

被折叠的 条评论
为什么被折叠?



