gpt4 book ai didi

apache-spark - Spark "replacing null with 0"性能对比

转载 作者:行者123 更新时间:2023-12-03 09:26:30 25 4
gpt4 key购买 nike

Spark 1.6.1,Scala api。

对于数据框,我需要用 0 替换某个列的所有空值。
我有两种方法可以做到这一点。
1.

myDF.withColumn("pipConfidence", when($"mycol".isNull, 0).otherwise($"mycol"))

2.
myDF.na.fill(0, Seq("mycol"))

它们本质上是相同的还是首选一种方式?

谢谢!

最佳答案

它们不相同,但性能应该相似。 na.fill用途 coalesce但它取代了 NaNNULLs ,不仅NULLS .

val y = when($"x" === 0, $"x".cast("double")).when($"x" === 1, lit(null)).otherwise(lit("NaN").cast("double"))
val df = spark.range(0, 3).toDF("x").withColumn("y", y)

df.withColumn("y", when($"y".isNull, 0.0).otherwise($"y")).show()
df.na.fill(0.0, Seq("y")).show()

关于apache-spark - Spark "replacing null with 0"性能对比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40247045/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com