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)))
//此方法不做过多解释,暂时还没有深入研究
网友评论