gpt4 book ai didi

scala - 复制 Spark Row N 次

转载 作者:行者123 更新时间:2023-12-04 13:13:05 24 4
gpt4 key购买 nike

我想在 DataFrame 中复制一行,我该怎么做?

例如,我有一个由 1 行组成的 DataFrame,我想制作一个具有 100 个相同行的 DataFrame。我想出了以下解决方案:

  var data:DataFrame=singleRowDF

for(i<-1 to 100-1) {
data = data.unionAll(singleRowDF)
}

但这引入了许多转换,并且我的后续操作似乎变得非常缓慢。还有另一种方法吗?

最佳答案

您可以添加一个字面值为大小为 100 的 Array 的列,然后使用 explode使其每个元素创建自己的行;然后,去掉这个“虚拟”列:

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

val result = singleRowDF
.withColumn("dummy", explode(array((1 until 100).map(lit): _*)))
.selectExpr(singleRowDF.columns: _*)

关于scala - 复制 Spark Row N 次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40397740/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com