je la structure de données suivantes représentant ids de film (première colonne) et notes pour différents utilisateurs pour ce film dans le reste des colonnes - quelque chose comme ça:Scala Spark: convertir des colonnes arbitraires N en carte
+-------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
|movieId| 1| 2| 3| 4| 5| 6| 7| 8| 9| 10| 11| 12| 13| 14| 15|
+-------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
| 1580|null|null| 3.5| 5.0|null|null|null|null|null|null|null|null|null|null|null|
| 3175|null|null|null|null|null|null|null|null|null|null|null|null|null| 5.0|null|
| 3794|null|null|null|null|null|null|null|null|null|null|null| 3.0|null|null|null|
| 2659|null|null|null| 3.0|null|null|null|null|null|null|null|null|null|null|null|
Je veux convertir cette trame de données à un DataSet de
final case class MovieRatings(movie_id: Long, ratings: Map[Long, Double])
Alors que ce serait quelque chose comme
[1580, [1 -> null, 2 -> null, 3 -> 3.5, 4 -> 5.0, 5 -> null, 6 -> null, 7 -> null,...]]
Etc.
Comment cela peut être fait?
La chose ici est que le nombre d'utilisateurs est arbitraire. Et je veux les compresser en une seule colonne en laissant la première colonne intacte.
double possible de [Spark 2.0 - Convertir dataframe à DataSet] (https://stackoverflow.com/questions/40700213/spark-2 -0-convert-dataframe-to-dataset) – Pavel
Je ne pense pas que ce soit un doublon parce que cette question est Comment puis-je le faire, et cette question est que j'essaie de faire cela et ça ne fonctionne pas, Oh, attendez , Je dois mettre à jour Spark. Cette question demande un tutoriel, et est donc hors-sujet. – jmarkmurphy