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。

发布了82 篇原创文章 · 获赞 148 · 访问量 12万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览