我有一个数据帧,我必须根据某些条件更新某些值。
+------+--------+---+-----------+
|std_id|std_name|age| address|
+------+--------+---+-----------+
| 101| Kishore| 27| WST RD|
| 102| Manish| 24|WALLED CITY|
| 103|Himanshu| 23| TONK RD|
+------+--------+---+-----------+
我正在使用以下脚本
更新值testing.withColumn("std_name", when(col("std_name").equalTo("Kishore"), "Rahul").otherwise(testing("std_name")) )
结果
+------+--------+---+-----------+
|std_id|std_name|age| address|
+------+--------+---+-----------+
| 101| Rahul| 27| WST RD|
| 102| Anika| 24|WALLED CITY|
| 103|Himanshu| 23| TONK RD|
+------+--------+---+-----------+
但现在我想要申请条件
年龄如%2 - > %5
年龄在25到27岁之间 - > 90
我如何在Scala,Spark中做到
答案 0 :(得分:2)
这样做,
之间的
testing.withColumn("age", when(col("age").between(25,27), 90).otherwise(testing("age")) )
喜欢
testing.withColumn("age", when(col("age").like("%2"), 876).otherwise(testing("age")) )