List 如何在pyspark中将RDD列表转换为一个列表
我有一个RDD对象,一个列表列表,看起来像这样(省略了数百万个子列表,这里只剩下3个) 我想把它转换成这样一个列表List 如何在pyspark中将RDD列表转换为一个列表,list,apache-spark,pyspark,List,Apache Spark,Pyspark,我有一个RDD对象,一个列表列表,看起来像这样(省略了数百万个子列表,这里只剩下3个) 我想把它转换成这样一个列表 my_list = [('a','b'),('a','c'), ('b','a'),('b','f'),('b','g'), ('zzsx','c'), ('zzsx','q'), ('zzsx','m'), ('zzsx','ay'), ('zzsx','bbt')] 我不能使用循环,因为my_tuples是一个RDD对象,而且my_tuples的大小太
my_list = [('a','b'),('a','c'), ('b','a'),('b','f'),('b','g'),
('zzsx','c'), ('zzsx','q'), ('zzsx','m'), ('zzsx','ay'), ('zzsx','bbt')]
我不能使用循环,因为
my_tuples
是一个RDD对象,而且my_tuples
的大小太大,无法使用循环。我是spark的新手,欢迎提出任何建议。谢谢。您可以使用flatMap
将其展平:
rdd.flatMap(lambda l: l)
因为您的元素是列表,所以您可以在函数中返回这些列表,如示例所示
[('a', 'b'),
('a', 'c'),
('b', 'a'),
('b', 'f'),
('b', 'g'),
('zzsx', 'c'),
('zzsx', 'q'),
('zzsx', 'm'),
('zzsx', 'ay'),
('zzsx', 'bbt')]
[('a', 'b'),
('a', 'c'),
('b', 'a'),
('b', 'f'),
('b', 'g'),
('zzsx', 'c'),
('zzsx', 'q'),
('zzsx', 'm'),
('zzsx', 'ay'),
('zzsx', 'bbt')]