Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 如果spark中的函数出现错误_Scala_Apache Spark - Fatal编程技术网

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))