У меня есть набор искровых данных, мне нужно сгруппировать данные по дате и заполнить нулями данные, если для даты нет идентификатора.Мне также нужно преобразовать набор данных в течение 30 дней, учитывая, что моя конечная дата падает на 30-й день в исходном наборе данных жанра, вот примерный набор данных, с которым я работаю.Каков наилучший подход для этого преобразования?
val genre = sc.parallelize(List(("id1", "2016-05-01", "action",0),
("id1", "2016-05-03", "horror",1),
("id2", "2016-05-03", "art",0),
("id2", "2016-05-04", "action",0))).
toDF("id","date","genre","score")
output
+---+----------+------+-----+
| id| date| genre|score|
+---+----------+------+-----+
|id1|2016-05-01|action| 0|
|id1|2016-05-03|horror| 1|
|id2|2016-05-03| art| 0|
|id2|2016-05-04|action| 0|
+---+----------+------+-----+
Желаемое значение
+---+----------+------+-----+-----------
| date| grouped |
+---+----------+------+-----+------------
|2016-05-01|[[id1,action,1],[id2,0, 0]] |
|2016-05-02|[[id1,0,0],[id2,0, 0]] |
|2016-05-03|[[id1,horror,1],[id2,art,0]]|
|2016-05-04|[[id1,0,0],[id2,action, 0]] |
+---+----------+------+-----+-----------