2
我哈瓦做一些數據的機器學習之前,清潔和我的數據框的樣子如下:如何使用Java在Spark SQL的DataFrame中執行「col(a)== null?col(b):col(c)」列操作?
+-------+--------+---------+--------+-------+ | 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| +-------+--------+---------+--------+-------+
我需要生成包含當前所有列,並也的Java新增一欄,新的數據幀。這個新的「列」的邏輯是這樣的:
IsNull(Col('badid')) ? Col('artistid') : Col('goodid')
有什麼建議嗎?
這是一個簡明扼要的回答。現在,我知道我需要「導入靜態org.apache.spark.sql.functions。*;」在我的Java代碼中並且使用這些API方法。非常感謝[zero323](http://stackoverflow.com/users/1560062/zero323)! –