[英]Replace randomly RDD values to null with scala spark
rnd
,它是一个从 0 到 1 的随机数rnd
< 0.5 时使 col2 = col2 (如果你想让 50% 的值为空)否则 nullimport org.apache.spark.sql.functions.{lit, rand, when}
import spark.implicits._
spark.read.option("header", "true").option("sep", "\t").csv(<your_path>)
.withColumn("rnd", rand())
.withColumn("col2", when($"rnd" < 0.5, $"col2").otherwise(lit(null).cast(<col2_datatype_here>)))
@amelie,请注意我的答案中“rnd”前面的$
条件。
您应该进行列比较,而不是值比较。
PS
:由于我是stackoverflow新手,无法发表评论,因此需要单独回答。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.