将逗号分隔的字符串列拆分为多行PySpark,其中包含其他行的consatant分割因子

时间:2016-12-30 10:58:51

标签: python apache-spark pyspark spark-dataframe

我有一个DataFrame有n个字段,其中一个包含逗号分隔值为String之类,另一个有整数值 -

field1 field2 field3 field4 .... fieldn
ID0101 AB,CDE 0.9    objA        -----
ID1010 A,C,DE 0.7    objB        -----

现在我必须将其转换为以下内容

field1 field2 field3 field4 .... fieldn
ID0101 AB     0.45   objA        -----
ID0101 CDE    0.45   objA        -----
ID1010 A      0.7    objB        -----
ID1010 C      0.7    objB        -----
ID1010 DE     0.7    objB        -----

DataFrame中使用PySpark。找到了Scala的FlatMap版本,但我无法在Python中这样做。此外,由于我必须根据field3的值拆分field4的值,因此简单的explodeflatmap无法工作。

1 个答案:

答案 0 :(得分:-1)

使用爆炸。例如:

from pyspark.sql.functions import explode

df = inputDF.withColumn("field2", explode("field2"))