У меня есть опыт работы с Python и я просто изучаю scala. Я хочу объявить класс case для данных, считываемых из базы данных через spark. Данные выглядят следующим образом:
|id | person_info
+----+-------------------------------------------------------------------------------------------------------------------
| 1 |[{"fname":"john","lname":"doe","user_id":123,"dept":"hr"},{"fname":"jane","lname":"doe","user_id":456,"dept":"sales"}]
| 2 |[{"fname":"ed","lname":"smith","user_id":345,"dept":"it"}]
Я запутался в person_info
, поскольку он также имеет user_id: Int
, вот что я пробовал:
case class Person(id: Int, person_info: Array[Map[String, String]])
person_info
было создано в sql через:
SELECT id, named_struct("fname", t.first_name, "lname", t.lastname, "user_id": t.userid, "dept": t.department) as person_info FROM mytable t