【发布时间】:2017-05-22 08:29:25
【问题描述】:
我在 MySQL 中这样查询:
SELECT *,@a:=@a+1 AS rn FROM PERSON,(SELECT(@a:=0)) AS A
我想知道当我查询 DataFrame 时如何通过 spark sql 做到这一点,比如这种类型:
val strSQL=" SELECT *,@a:=@a+1 AS rn FROM PERSON,(SELECT(@a:=0)) AS A"
sqlContext.sql(strSQL)
我的问题是,当我运行这段代码时,控制台告诉我@a:=@a+1 错误,我不知道如何用 spark SQL 类型编写 SQL。
【问题讨论】:
-
您是在模仿 Rownum 还是 LAG?如果是,Spark 中已经实现了窗口函数。
-
@a:=@a+1是什么? -
是的,我要生成Rownum
标签: sql apache-spark dataframe rdd