​使用LOD函数解决impala去重计数报错问题

最近更新时间:2021-03-02 20:03:32

查看PDF

问题说明:

impala不支持在同一条select语句中对多字段去重统计

具体说明,可以参考impala官方文档:

https://impala.apache.org/docs/build3x/html/topics/impala_count.html

解决方法有两个:

1)修改APPX_COUNT_DISTINCT参数

APPX_COUNT_DISTINCT=true

开启参数后,相当于使用了ndv(函数),会得到不那么精确的结果

2)使用LOD函数通过子查询绕过impala的限制

示例:

将度量【去重计数有效会员数】改为ATTR({INCLUDE : COUNTD([有效会员数])})

下面是用LOD函数实现的示例:

使用LOD函数通过子查询绕过impala的限制:

每新增一个去重统计的计算字段,在新增的计算字段里增加一重include的嵌套,如下

流失会员数:ATTR({INCLUDE: COUNTD([流失会员数])})

新增会员数:ATTR({INCLUDE:ATTR({INCLUDE: COUNTD([新增会员数])})})

有效会员数:ATTR({INCLUDE:ATTR({INCLUDE:ATTR({INCLUDE : COUNTD([有效会员数])})})})

文档内容是否对您有帮助?

根本没帮助
文档较差
文档一般
文档不错
文档很好

在文档使用中是否遇到以下问题

内容不全,不深入
内容更新不及时
描述不清晰,比较混乱
系统或功能太复杂,缺乏足够的引导
内容冗长

更多建议

0/200

评价建议不能为空

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

问题反馈