加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

sql – SPARK:失败:“union”预期但是#39;(‘找到了

发布时间:2021-03-07 14:22:14 所属栏目:编程 来源:网络整理
导读:我有一个名为df的数据框,名为employee_id.我在做: df.registerTempTable("d_f")val query = """SELECT *,ROW_NUMBER() OVER (ORDER BY employee_id) row_number FROM d_f"""val result = Spark.getSqlContext().sql(query) 但是得到以下问题.有帮助吗? [1.2

我有一个名为df的数据框,名为employee_id.我在做:

df.registerTempTable("d_f")
val query = """SELECT *,ROW_NUMBER() OVER (ORDER BY employee_id) row_number FROM d_f"""
val result = Spark.getSqlContext().sql(query)

但是得到以下问题.有帮助吗?

[1.29] failure: ``union'' expected but `(' found
SELECT *,ROW_NUMBER() OVER (ORDER BY employee_id) row_number FROM d_f
                            ^
java.lang.RuntimeException: [1.29] failure: ``union'' expected but `(' found
SELECT *,ROW_NUMBER() OVER (ORDER BY employee_id) row_number FROM d_f

解决方法

Spark 2.0

Spark 2.0引入了窗口函数的本机实现(SPARK-8641),因此不再需要HiveContext.然而,与窗口函数无关的类似错误仍然可归因于SQL解析器之间的差异.

火花< = 1.6 Window 1.4.0中引入了窗口函数,需要HiveContext才能工作. SQLContext在这里不起作用.

确保使用Spark> = 1.4.0并创建HiveContext:

import org.apache.spark.sql.hive.HiveContext
val sqlContext = new HiveContext(sc)

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读