喜欢和之间的数据帧

时间:2017-01-20 08:24:21

标签: scala apache-spark

我有一个数据帧,我必须根据某些条件更新某些值。

+------+--------+---+-----------+
|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中做到

1 个答案:

答案 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")) )