你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
hll_if()(聚合函数)
计算谓词计算结果为 dcount
的记录中 的中间结果。
阅读基础算法 (HyperLogLog ) 和估算准确度。
注意
此函数与 summarize 运算符结合使用。
语法
hll_if
(
expr、谓词 [,
准确度])
详细了解语法约定。
参数
客户 | 类型 | 必需 | 说明 |
---|---|---|---|
expr | string |
✔️ | 用于聚合计算的表达式。 |
predicate | string |
✔️ | Expr,用于筛选要添加到 中间结果的记录。 |
accuracy | int |
该值用于控制速度与准确度之间的平衡。 如果未指定,则默认值为 1 。 有关受支持的值,请参阅估计准确度。 |
返回
返回谓词计算结果为 的 Expr 的非重复计数的中间结果。
注意
- hll()、hll_if() 和 hll_merge() 的结果可以进行存储,并在以后进行检索。 例如,你可能想要创建每日唯一用户摘要,然后可用于计算每周计数。 但是,这些结果的精确二进制表示形式可能会随时间而变化。 不能保证这些函数为相同的输入生成相同的结果,因此我们不建议依赖它们。
- 使用
hll_merge
函数合并多个hll
中间结果。 仅适用于hll
输出。 - 使用
dcount_hll
计算hll
、hll_merge
或hll_if
聚合函数的不同计数。
示例
以下查询导致爱荷华州和堪萨斯州的唯一洪水事件源数。 它使用 hll_if()
函数仅显示洪水事件。
StormEvents
| where State in ("IOWA", "KANSAS")
| summarize hll_flood = hll_if(Source, EventType == "Flood") by State
| project State, SourcesOfFloodEvents = dcount_hll(hll_flood)
输出
状态 | SourcesOfFloodEvents |
---|---|
KANSAS | 11 |
衣阿华州 | 7 |
估计准确度
精确度 | Speed | 错误 (%) |
---|---|---|
0 | 最快 | 1.6 |
1 | 已平衡 | 0.8 |
2 | 慢 | 0.4 |
3 | 慢 | 0.28 |
4 | 最慢 | 0.2 |