如何使用"在"时填充Spark上的空值声明

时间:2017-08-22 10:36:41

标签: scala apache-spark null

当另一列的值小于数字时,如何填充列的空值?

例如,

val filledage = age.na.fill(30,Array("Age")) ..... when kidscolumns>1 

类似的东西

谢谢!

1 个答案:

答案 0 :(得分:0)

假设您有dataframe

+----+-------+
|Age |column1|
+----+-------+
|null|6      |
|null|20     |
|35  |10     |
|25  |5      |
+----+-------+

并且当null值小于Age时,您希望将30列中的column1值替换为15,然后您就可以

import org.apache.spark.sql.functions._
val comparingValue = 15
df.withColumn("Age", when(col("column1")<comparingValue, lit(30)))

应该给你

+----+-------+
|Age |column1|
+----+-------+
|30  |6      |
|null|20     |
|30  |10     |
|30  |5      |
+----+-------+

我希望答案很有帮助