如何将 python 列表添加到 pyspark 列? [复制]

Posted

技术标签:

【中文标题】如何将 python 列表添加到 pyspark 列? [复制]【英文标题】:How to add python list to a pyspark column? [duplicate] 【发布时间】:2021-11-03 16:28:30 【问题描述】:

我有一个 python 列表说l=["abc is good", "xyz is bad"]

我已经有一个 pyspark 数据框,其中包含字符串数据类型的列“A”和“B”,如下所示


A B
One Two

现在我需要新列 C 可以保存列表 l

更改后数据框应如下所示


A B C
One Two ["abc is good", "xyz is bad"]
sample code:
df=spark.createDataFrame([("one","two")],["A","B"])

【问题讨论】:

【参考方案1】:

文字函数不支持将 python 列表作为数组类型。 您需要先将列表元素连接到字符串中,并将其用作 pyspark sql 中 split 函数中的文字值,如下所示:

from pyspark.sql import functions as F

your_list = ["abc is good", "xyz is bad"]
df = df.withColumn("C",F.split(F.lit(','.join(your_list)),","))

【讨论】:

以上是关于如何将 python 列表添加到 pyspark 列? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 pyspark 从 python 列表中选择随机文本值?

将标准 python 键值字典列表转换为 pyspark 数据框

将 Jar 添加到独立的 pyspark

有没有更快的方法将一列 pyspark 数据框转换为 python 列表? (Collect() 非常慢)

Apache Spark:如何在Python 3中使用pyspark

将 pyspark 数据框转换为 python 字典列表