gpt4 book ai didi

scala - PySpark 等效于来自 Scala API 的函数 "typedLit"

转载 作者:行者123 更新时间:2023-12-03 17:11:53 26 4
gpt4 key购买 nike

我们有一个函数 typedLitScala API for Spark将 Array 或 Map 添加为列值。

import org.apache.spark.sql.functions.typedLit
val df1 = Seq((1, 0), (2, 3)).toDF("a", "b")

df1.withColumn("seq", typedLit(Seq(1,2,3)))
.show(truncate=false)

+---+---+---------+
|a |b |seq |
+---+---+---------+
|1 |0 |[1, 2, 3]|
|2 |3 |[1, 2, 3]|
+---+---+---------+
我在 PySpark 中找不到等价物。我们如何在 PySpark 中创建一个以 Array 作为列值的列?

最佳答案

pyspark 中还没有等效的函数,但您可以有一个数组列,如下所示:

from pyspark.sql.functions import array, lit
df = sc.parallelize([[1,2], [3,4]]).toDF(['a', 'b'])
df.withColumn('seq', array([lit(i) for i in [1,2,3]])).show()
输出:
+---+---+---------+                                                             
| a| b| seq|
+---+---+---------+
| 1| 2|[1, 2, 3]|
| 3| 4|[1, 2, 3]|
+---+---+---------+

关于scala - PySpark 等效于来自 Scala API 的函数 "typedLit",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62115150/

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