我想要比较 Dataframe 中的两个字符串列x和y。如果它们相同(不区分大小写),我想返回x,如果它们不同,我想连接x和y。
select (case when x = y then x else concat(x + ". " + y) end) as match from test
在Scala中
df.select(when(col("x") == col("y"), col("x") )
.otherwise(concat(col("x"),lit('. '), col("y")))
.as("match"))
我在测试时出现以下错误
错误:类型不匹配;找到:需要布尔值:org.apache.park.sql.Column
2条答案
按热度按时间neekobn81#
在Scala Spark上使用=代替==进行相等性检查。
ws51t4hk2#
与其说这是一个Scala问题,不如说是一个Spark问题。您应该使用
===
而不是==
。