Разбить строку запятой в столбце в Pyspark Notebook? - PullRequest
0 голосов
/ 03 мая 2020

Я использую Jupyter Notebook PySpark. Я хотел бы «вычеркнуть» эти категории из идентификаторов бизнеса. Один из распространенных подходов заключается в создании таблицы ассоциации, отображающей один и тот же бизнес-идентификатор несколько раз для каждой отдельной категории.

enter image description here

Как я могу разделить его?

1 Ответ

0 голосов
/ 03 мая 2020

Используйте функцию 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|
#+-----------+--------+
...