pyspark使用另一个字段作为源按行生成rdd

pyspark使用另一个字段作为源按行生成rdd,pyspark,rdd,Pyspark,Rdd,从这个rdd中,我需要以下面的格式生成另一个rdd Input RDD -------------------- A,123|124|125|126 B,123|124|125|126 虽然这段代码可以回答这个问题,但提供关于它如何以及为什么解决这个问题的附加上下文将提高答案的长期价值。 Output RDD -------------------- A,123 A,124 A,125 A,126 B,123 B,124 B,125 B,126 x = sc.parallelize([("

从这个rdd中,我需要以下面的格式生成另一个rdd

Input RDD
--------------------

A,123|124|125|126
B,123|124|125|126

虽然这段代码可以回答这个问题,但提供关于它如何以及为什么解决这个问题的附加上下文将提高答案的长期价值。
Output RDD
--------------------
A,123
A,124
A,125
A,126
B,123
B,124
B,125
B,126
x = sc.parallelize([("a", ["x", "y", "z"]), ("b", ["p", "r"])])
def f(x): return x
x.flatMapValues(f).collect()
[('a', 'x'), ('a', 'y'), ('a', 'z'), ('b', 'p'), ('b', 'r')]