spark dataframe 添加一列的方法

dataframe 添加一列看似简单,实际上却非常复杂

一 是添加自己定义的数据作为一列

val result_instance = result.limit(1).select($"result"as "one").crossJoin(result)
result.limit(1)     //读取第一行,获取指定行自行设计
result.limit(1).select($"result"as "one)     
 //选取制定行的指定列,最后得到的是只有一个元素的dataframe
val result_instance = result.limit(1).select($"result"as "one").crossJoin(result)
//crossJoin 进行dataframe的合并,将原先只有一个元素的dataframe扩展为一列dataframe 并和原表合并在一起

二 是添加已经存在于数据表中的数据新建作为一列

val outcomes = result_instance
.withColumn("test_vec",lit(Vectors.dense(Array[Double](1.0,1.0,1.0)))
//此方法不做过多解释,暂时还没有深入研究
    原文作者:zyfortirude
    原文地址: https://www.jianshu.com/p/7e6e406dd15b
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞