У меня есть mutable.MutableList [emp] со следующей структурой.
case class emp(name: String,id:String,sal: Long,dept: String)
Я создаю записи на основе указанного выше класса case в приведенном ниже mutable.MutableList [emp].
val list1: mutable.MutableList[emp] = ((mike, 1, 123, HR),(mike,2,123,sys),(Lind,1,2323,sys))
Если у меня одно и то же имя с идентификаторами 1 и 2, мне нужно взять только 2 и сбросить запись с идентификатором 1. Идентификатор id 2 отсутствует, я должен принять идентификатор 1.
Как этого добиться? Я попробовал это следующим образом, но результаты не точны:
0. converted mutable.mutableList to Dataframe
1. filtered records with id 1(id1s_DF)
2. filtered records with id 2(other_rec_DF)
3. joined records with name and used leftsemi as join condition.
val join_info_DF = other_rec_DF.join(id1s_DF, id1s_DF("name") =!= other_rec_DF("name"),"leftsemi")
Выше объединения даст все имена, которые присутствуют в other_rec_DS и отсутствуют в Other_rec_DF.
Похоже, я что-то не так делаю с объединением и не получаю ожидаемых результатов.
Могут ли некоторые помочь мне достичь этого в mutableList или путем преобразования его в Dataframe.
Спасибо,
Баба