拆分和RDD行到Pyspark中的不同列

时间:2018-01-29 01:59:50

标签: python apache-spark pyspark row rdd

这是我上一个问题的延续。

我想找到' e'的索引。以下RDD使用pyspark:

['a,b,c,d,e,f']

我正在使用方法:

rdd.zipWithIndex().lookup('e')

但我得= []

因为Rdd的格式如下:         [      [' A,B,C,d,E,F']

我试过

rdd.flatMap(lambda x: x)

所以我使用查找来获取索引,但我仍然得到[]

请帮帮我。如何将Rdd作为:

['a','b','c','d','e','f']

这样我就可以做这个方法

    rdd.zipWithIndex().lookup('e')

1 个答案:

答案 0 :(得分:1)

问题是您使用整个字符串作为array

['a,b,c,d,e,f']

所以,这里a,b,c,d,e,f被视为一个字符串。 您需要将它们分隔为您​​拥有的RDD的单独行。您只需使用flatMap字符串分隔为单独的 RDD ,然后使用zipWithIndex()和{{1 }}

lookUp()