Вы можете сделать это несколькими способами - используя набор данных и класс case или UDF.
Вот как использовать класс case,
case class Account(accountNo:String, subbed: String, var closeDate : Timestamp)
case class MyTable(field1:String, field2 ......
, accountlinks100 : Seq[Account], newCloseDate : Timestamp
)
val df = // read dataframe.as[MyTable]
val updatedDf = df.map{ r : MyTable =>
r.accountlinks100.forEach(a => a.closeDate = r.newCloseDate)
r
}
Я использовал var для создания поле обновляемое. Если вам это не нравится, используйте val и скопируйте объект MyTable в новый объект с измененным значением closeDate.