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 有啥区别?

具有 HiveContext 的多个 Spark 应用程序

Spark - HiveContext |错误的时间戳(减去 4 小时)

Spark初始换HiveContext空指针异常

Spark Window Functions 需要 HiveContext?