Spark with HiveContext - AnalysisException:无法解析窗口函数“first_value”
Posted
技术标签:
【中文标题】Spark with HiveContext - AnalysisException:无法解析窗口函数“first_value”【英文标题】:Spark with HiveContext - AnalysisException: Could not resolve window function 'first_value' 【发布时间】:2016-09-09 09:06:53 【问题描述】:first
的这种用法有什么问题?我想在我的数据框中为每个id
取第一行,但是它返回一个错误:
Exception in thread "main" org.apache.spark.sql.AnalysisException: Could not resolve window function 'first_value'. Note that, using window functions currently requires a HiveContext;
代码是:
WindowSpec window = Window.partitionBy(df.col("id"));
df= df.select(first(df.col("*")).over(window));
我正在使用HiveContext
。
【问题讨论】:
你能不能 - 为了测试 - 试试下面的代码:WindowSpec window = Window.partitionBy(df.col("id")); df= df.select(first(df.col("id")).over(window));
窗口函数可能不能与 * 一起使用
【参考方案1】:
您是否使用 SparkContext 或 HiveContext 读取/创建了 Spark 数据框? 窗口函数需要使用 HiveContext
更多细节在这里: Window function is not working on Pyspark sqlcontext
【讨论】:
作者写道,他正在使用 HiveContext以上是关于Spark with HiveContext - AnalysisException:无法解析窗口函数“first_value”的主要内容,如果未能解决你的问题,请参考以下文章
Spark on Yarn with Hive实战案例与常见问题解决
Apache Spark SQLContext 与 HiveContext 有啥区别?