【发布时间】:2019-07-08 11:03:06
【问题描述】:
我有一个带有“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]|
+---+------------------+------------+-----+
希望你能帮忙。
【问题讨论】:
-
@giser_yugang 我已经尝试过“df.withColumn("b", split("b", "|"))",但不是我正在寻找的内容:"[1 , |, 2, |, 3, |..."
-
@giser_yugang 后来我尝试了 "df.withColumn("b", split("b", "\|"))" 并且成功了!太好了,谢谢!