在 Pyspark Notebook 的列中用逗号拆分字符串?

Split string by comma in a column in Pyspark Notebook?

我正在使用 Jupyter Notebook PySpark。我想 "break out" 来自商家 ID 的这些类别。一种常见的方法是建立关联 table 将单个业务 ID 多次映射到每个不同的类别。

如何拆分?

使用split函数然后分解数组得到类别列。

Example:

#sample data
df=spark.createDataFrame([("abcd123","a,b,c")],["business_id","categories"])

from pyspark.sql.functions import *

df.withColumn("category",explode(split(col("categories"),","))).drop("categories").show()
#+-----------+--------+
#|business_id|category|
#+-----------+--------+
#|    abcd123|       a|
#|    abcd123|       b|
#|    abcd123|       c|
#+-----------+--------+