Spark将一列的值赋值给另外一列
如果有如下数据:
我要使col1 =col2,得到如下的结果:
在sparkR里面只需要 df$col1 = df$col2
就可以实现了,那么在scala里面没有这样的方式,我要如何去实现呢。我搜索了很多次,问了很多群,没有啥简易的操作,于是我最后写下了这样的实现:
如评论区所说
使用withColumn
可以快速的将这个列赋值到另外一列,以下 的内容是我入门时候写的。不用做参考了。
实现代码:
- 关键的函数
def col1SetValueToCol2(spark:SparkSession,table:DataFrame,setValueColName:String,getValueColName:String):DataFrame={
val changeDataFrame: DataFrame = table.drop(setValueColName).withColumn(setValueColName, table.col(getValueColName))
val resDataFrame: DataFrame &