从pyspark中的列表列表中生成多个列表

问题描述

我有一些具有以下架构的记录:

    (key,[[value1,value2],[value3,value4]])

我想做的是为这些记录中的每一个发出:

    (key,[value1,value2])
    (key,value4])

在 Pyspark 中使用 RDD API。

对于输入和输出间的一对多关系,我想我可以使用 flatMap 但我不确定如何在这种情况下应用它。有什么想法吗?

解决方法

您可以使用flatMapValues

rdd2 = rdd.flatMapValues(lambda x: x)