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

最佳答案

您是否使用SparkContext或HiveContext读取/创建了Spark数据框?
窗口函数要求使用HiveContext

此处有更多详细信息:
Window function is not working on Pyspark sqlcontext

关于java - 带有HiveContext的Spark-AnalysisException:无法解析窗口函数“first_value”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39407849/

10-16 02:46