Apache spark 基于Spark中的另一个数据帧筛选数据帧
我有一个带有列的数据帧dfApache spark 基于Spark中的另一个数据帧筛选数据帧,apache-spark,spark-dataframe,Apache Spark,Spark Dataframe,我有一个带有列的数据帧df date: timestamp status : String name : String 我正试图找到所有名字的最后状态 val users = df.select("name").distinct val final_status = users.map( t => { val _name = t.getString(0) val record = df.where(col("name") === _name)
date: timestamp
status : String
name : String
我正试图找到所有名字的最后状态
val users = df.select("name").distinct
val final_status = users.map( t =>
{
val _name = t.getString(0)
val record = df.where(col("name") === _name)
val lastRecord = userRecord.sort(desc("date")).first
lastRecord
})
这适用于数组,但对于spark数据帧,它抛出的是java.lang.NullPointerException
更新1:使用移除的副本
df.sort(desc("date")).removeDuplicates("name")
这是一个好的解决方案吗?这
df.sort(desc("date")).removeDuplicates("name")
不保证能工作。回答这个问题的解决方案应该适合您
a)这已经被讨论了很多次,所以它无法工作b)移除的副本的来源是什么?看起来不像现有的方法。