鉴于以下结构:
val df = Seq("Color", "Shape", "Range","Size").map(Tuple1.apply).toDF("color")
val df1 = df.withColumn("Success", when($"color"<=> "white", "Diamond").otherwise(0))
我想写一个以上的条件时,其中大小>10和形状列值是菱形,然后“钻石”值应插入列,否则0。我试过了,但失败了
val df1 = df.withColumn("Success", when($"color" <=> "white", "Diamond").otherwise(0)).when($"size">10)
请建议我只有Dataframe与scala选项。sparksql和sqlcontext对我来说没有帮助。
谢谢!
2条答案
按热度按时间eagi6jfj1#
你有没有试着做一个自定义项?试着这样做:
当做。
sg3maiej2#
你可以用链子锁住
when
与中的示例类似https://spark.apache.org/docs/latest/api/java/org/apache/spark/sql/column.html#when-org.apache.spark.sql.column-java.lang.object-从(1.4.0)开始提供你的例子: