前言
最近一个小伙伴在做从
Oracle
到
Hive
的业务迁移工作,在迁移过程中属实遇到了一些坑,今天就来汇总一下这些坑,避免以后大家其他业务迁移的时候再出现类似的问题,即使出现了也可以拿过来进行对照解决。
问题1:Distinct window functions are not supported: count(distinct position_id#92) windowspecdefinition
从上面图片中的报错日志信息来看,是说窗口函数是不支持
count distinct
的。很显然在
Oracle
中支持的写法,但是在
Spark SQL
是不支持的。
**
解决方案
**
- 方案1:使用
approx_count_distinct
,但是它是概率统计,非精确统计 - 方案2:
collect_set
与size
结合使用
之前的
sql
:
count
本文转载自: https://blog.csdn.net/u011109589/article/details/131937032
版权归原作者 笑看风云路 所有, 如有侵权,请联系我们删除。
版权归原作者 笑看风云路 所有, 如有侵权,请联系我们删除。