我有一个带有“ b”列的DF,其模式为“ a | b | c | ... | z”,如下所示:
from pyspark import Row
from pyspark.sql import SparkSession
spark = SparkSession.builder \
.appName('DataFrame') \
.master('local[*]') \
.getOrCreate()
| a| b| c| d|
+---+-----------+------------+-----+
| 1|1|2|3|4|5|6|[11, 22, 33]|[foo]|
+---+-----------+------------+-----+
我想将“ b”列更改为列表,以便下一步将其爆炸并进行其他处理,因此它应如下所示:
| a| b| c| d|
+---+------------------+------------+-----+
| 1|[1, 2, 3, 4, 5, 6]|[11, 22, 33]|[foo]|
+---+------------------+------------+-----+
希望您能提供帮助。
答案 0 :(得分:0)
感谢@giser_yugang为我的主题提供的解决方案:
from pyspark.sql.functions import split
df.withColumn("b", split("b", "\|"))