spark中sqlContext函数不能完全实现业务逻辑,引入hiveContext,解决开窗函数TOP-N问题

异常报错: 

问题描述:

1、为什么用hiveContext?

在开发spark程序中,sqlContext函数不能完全实现业务逻辑,所以会引入hiveContext,(本次用到hiveContext中的开窗函数TOP-N)。

原因分析:

在SQLContext上下文是不支持开窗函数的,用他来解决TOP-N问题,写的sql有点复杂,执行效率相对较低,可使用HiveContext,使用row_number() over(partition  by column_1 order by column_2 ) 开窗函数比较方便的解决TOP-N问题。

解决办法:

 

开发任务写的完整sql如图,(使用oracle数据库读字段大写)

 

即可解决异常

扫描二维码关注公众号,回复: 8646896 查看本文章

发布了28 篇原创文章 · 获赞 3 · 访问量 1955

猜你喜欢

转载自blog.csdn.net/as4589sd/article/details/103664988