Spark 1.5.1
本地使用 SQLContext
報錯:java
failure: ``union'' expected but `(' found
複製代碼
這個報錯在位置在開窗函數執行語句處。apache
從 Spark 2.0 開始,Spark SQL 才本地實現了開窗函數(SPARK-8641),在 Spark 2.0 以前要使用開窗函數,必須使用 HiveContext 去操做。函數
同時,開窗函數是從 Spark 1.4 引進的,因此當 Spark 版本小於 1.4 的話是無法使用開窗函數的。spa
因此看若是你的 Spark 版本小於 1.4 則無法用開窗函數,若是在 1.4 到 2.0 之間(Spark 在 1.6.x 以後就直接跳到 2.0 版本了)就使用 HiveContext 去使用開窗函數,若是是 2.0 以後的版本能夠直接使用 SQLContext。code