При использовании Scala и Spark 1.6.3 мое сообщение об ошибке:
org.apache.spark.sql.AnalysisException: expression 'id' is neither present in the group by, nor is it an aggregate function.
Add to group by or wrap in first() (or first_value) if you don't care which value you get.;
Код, который генерирует ошибку:
returnDf.withColumn("colName", max(col("otherCol"))
DataFrame returnDf выглядит так:
+---+--------------------+
| id| otherCol|
+---+--------------------+
|1.0|[0.0, 0.217764172...|
|2.0| [0.0, 0.0]|
|3.0|[0.0, 0.142646382...|
|4.0|[0.63245553203367...|
Существует решение, когда с использованием синтаксиса sql . Что является эквивалентным решением с использованием синтаксиса, который я использую выше (то есть функция withColumn()
)