gpt4 book ai didi

scala - 使用整数将相同的行添加到 Spark Dataframe

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

假设以下数据帧 df1 :

df1 :
+---------+--------+-------+
|A |B |C |
+---------+--------+-------+
|toto |tata |titi |
+---------+--------+-------+

我有 N = 3我想用来创建 3 的整数 df2 中的重复项使用 df1 的数据框:
df2 :
+---------+--------+-------+
|A |B |C |
+---------+--------+-------+
|toto |tata |titi |
|toto |tata |titi |
|toto |tata |titi |
+---------+--------+-------+

有任何想法吗 ?

最佳答案

来自 Spark-2.4+ 使用 arrays_zip + array_repeat + explode 这种情况下的功能。

val df=Seq(("toto","tata","titi")).toDF("A","B","C")
df.withColumn("arr",explode(array_repeat(arrays_zip(array("A"),array("B"),array("c")),3))).
drop("arr").
show(false)

//or dynamic way
val cols=df.columns.map(x => col(x))
df.withColumn("arr",explode(array_repeat(arrays_zip(array(cols:_*)),3))).
drop("arr").
show(false)

//+----+----+----+
//|A |B |C |
//+----+----+----+
//|toto|tata|titi|
//|toto|tata|titi|
//|toto|tata|titi|
//+----+----+----+

关于scala - 使用整数将相同的行添加到 Spark Dataframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61640123/

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