scala spark withColumn when 计算添加新列

scala | 2019-09-13 10:02:39

spark 可以使用withColumn 结合 when 很方便的 根据原有列,来计算出新列,当然较复杂的计算还是要使用udf。


//when 所在包

scala>  import org.apache.spark.sql.functions._

//创建加新的dataset

scala>  spark.sql("create table itxw(id int)")

scala>  spark.sql("insert into itxw values(1),(0)")

scala>  spark.sql("select * from itxw").show

scala> var ds=spark.table("itxw")

+---+                                                                           
| id|
+---+
|  1|
|  0|
+---+

//$美元符号需要使用

scala>  import spark.sqlContext.implicits._ 

//计算出新列

scala> ds=ds.withColumn("newColumn",when($"id" === 1,"true").otherwise("false"))

scala> ds.show

+---+---------+
| id|newColumn|
+---+---------+
|  1|     true|
|  0|    false|
+---+---------+


登录后即可回复 登录 | 注册
    
关注编程学问公众号