У меня есть путь к CSV, с которого я хотел бы прочитать.Этот CSV включает в себя три столбца: «тема, ключ, значение» Я использую спарк, чтобы прочитать этот файл как CSV-файл.Файл выглядит следующим образом (lookupFile.csv):
Topic,Key,Value
fruit,aaa,apple
fruit,bbb,orange
animal,ccc,cat
animal,ddd,dog
//I'm reading the file as follows
val lookup = SparkSession.read.option("delimeter", ",").option("header", "true").csv(lookupFile)
Я хотел бы взять то, что я только что прочитал, и вернуть карту со следующими свойствами:
- Карта использует тему в качестве ключа
- Значением этой карты является карта столбцов «Ключ» и «Значение»
Я надеюсь, что получу картуэто выглядит следующим образом:
val result = Map("fruit" -> Map("aaa" -> "apple", "bbb" -> "orange"),
"animal" -> Map("ccc" -> "cat", "ddd" -> "dog"))
Есть идеи, как мне это сделать?