Scala 如果spark中的函数出现错误
我使用下面的代码,但它给出了错误。请指导Scala 如果spark中的函数出现错误,scala,apache-spark,Scala,Apache Spark,我使用下面的代码,但它给出了错误。请指导 val a = Seq( ("ram,shyam,hari",12,10), ("shyam,ram,hari",3,5) ).toDF("name","id","dt") .withColumn("newcol",if($"id">$"dt",0,1)) .show() 错误如下: :14:错误:')'应为“”,但找到“”。 .withColumn(“newcol”,如果($“id”>$“dt”,0,1)).show() 您需要
val a = Seq(
("ram,shyam,hari",12,10),
("shyam,ram,hari",3,5)
).toDF("name","id","dt")
.withColumn("newcol",if($"id">$"dt",0,1))
.show()
错误如下:
:14:错误:')'应为“”,但找到“”。
.withColumn(“newcol”,如果($“id”>$“dt”,0,1)).show()
您需要
的时间。否则
:
val df = Seq(("ram,shyam,hari",12,10),("shyam,ram,hari",3,5)).toDF("name","id","dt")
df.withColumn("newcol", when($"id" > $"dt", 0).otherwise(1)).show
//+--------------+---+---+------+
//| name| id| dt|newcol|
//+--------------+---+---+------+
//|ram,shyam,hari| 12| 10| 0|
//|shyam,ram,hari| 3| 5| 1|
//+--------------+---+---+------+
或者,您可以将比较结果强制转换为int:
df.withColumn(“newcol”)($“id”在/otherwis:
import org.apache.spark.sql.functions.when
df.withColumn("newcol", when($"id" > $"dt", 0).otherwise(1))
亲爱的各位谢谢你们的回答,其实我知道如何通过其他方法来实现。我的问题是,为什么不通过spark提供的“if”函数来实现呢。
import org.apache.spark.sql.functions.when
df.withColumn("newcol", when($"id" > $"dt", 0).otherwise(1))