2
Я хав сделать некоторые данные чистки прежде, чем машинное обучение и мой dataframe взгляд, как показано ниже:Как выполнить операцию col (a) == null? Col (b): col (c) "в DataFrame Spark SQL с использованием Java?
+-------+--------+---------+--------+-------+ | userid|artistid|playcount| badid| goodid| +-------+--------+---------+--------+-------+ |2158448|10006467| 1|10006467|1244705| |2144107|10009022| 5|10009022|1024524| |1006831|10009473| 1|10009473|1010373| |2011584|10016312| 13|10016312|1000127| |2052189|10021776| 2|10021776|1082784| |2052189|10022667| 1|10022667|1082784| |1060325|10039984| 1|10039984|1001463| |2077268|10043655| 1|10043655|1000597| |1038421|10048281| 2|10048281|1256384| |2116983|10055238| 1|10055238|1003509| |2211143|10055238| 27|10055238|1003509| |1000083| 1006162| 2| 1006162|1048788| |1001371| 1006162| 1| 1006162|1048788| |1001411| 1006162| 1| 1006162|1048788| |1002138| 1006162| 3| 1006162|1048788| |1009943| 1006162| 2| 1006162|1048788| |1021747| 1006162| 4| 1006162|1048788| |1031726| 1006162| 1| 1006162|1048788| |1032062| 1006162| 2| 1006162|1048788| |1036948| 1006162| 1| 1006162|1048788| +-------+--------+---------+--------+-------+
Мне нужно создать новый DataFrame, которые содержат ток всех столбцы, а также добавить новый столбец в Java. Логика этой новой «колонны» такова:
IsNull(Col('badid')) ? Col('artistid') : Col('goodid')
Любые предложения?
Это краткий и лаконичный ответ. Теперь я знаю, что мне нужно «импортировать статические org.apache.spark.sql.functions. *;» в моем коде Java и utitlize эти методы API. Большое спасибо [zero323] (http://stackoverflow.com/users/1560062/zero323) !! –