I'm new to the Scala/Spark world.
I have a spark dataset(df with a case class) called person
.
scala> val person_with_contact = person.map(r => (
| r.id,
| r.name,
| r.age
| )).toDF()
Now, I want to add a list of address attributes(like apt_no, street, city, zip) to each record of this dataset. The get the list of address attributes, I have a function which takes person's id as input and returns a map that contains all the address attributes and their corresponding values.
I tried the following and a few other Stack Overflow suggested approaches but I couldn't solve it yet. (Ref - static col ex - Spark, add new Column with the same value in Scala)
scala> val person_with_contact = person.map(r => (
| r.id,
| r.name,
| r.age,
| getAddress(r.id)
| )).toDF()
The final dataframe should have the following columns.
id, name, age, apt_no, street, city, zip