Spark:failure: ``union'' expected but `(' found

问题:

Spark 1.5.1 本地使用 SQLContext 报错:

failure: ``union'' expected but `(' found

这个报错在位置在开窗函数执行语句处。

原因及解决方法:

从 Spark 2.0 开始,Spark SQL 才本地实现了开窗函数(SPARK-8641),在 Spark 2.0 之前要使用开窗函数,必须使用 HiveContext 去操作。

同时,开窗函数是从 Spark 1.4 引进的,所以当 Spark 版本小于 1.4 的话是没法使用开窗函数的。

所以看如果你的 Spark 版本小于 1.4 则没法用开窗函数,如果在 1.4 到 2.0 之间(Spark 在 1.6.x 之后就直接跳到 2.0 版本了)就使用 HiveContext 去使用开窗函数,如果是 2.0 之后的版本可以直接使用 SQLContext。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值