pyspark过滤元素列表,然后合并回来

fdbelqdn  于 2021-07-12  发布在  Spark
关注(0)|答案(1)|浏览(309)

我的 rdd 包含一对 IDs 和一个 list 个项目。例如,每个项目 (1, [a, b, c]) . 我需要申请一个 filter 添加到此项目。比如说我不想让一个 list .
我目前的方法是 flatMapValues 将项拆分为键值对。 filter 使用它们 groupByKey 把它们合并成 (1, [b, c]) .
在我做了一些研究之后 groupByKey 当数据量巨大时,这是可怕的。而且,我好像要打破 list ,然后他们在 list 强权似乎是多余的。有没有办法不间断地完成这个任务 array 倒下 merge 它回来了?

ivqmmu1c

ivqmmu1c1#

你可以用列表来理解 mapValues :

rdd2 = rdd1.mapValues(lambda l: [i for i in l if i != 'a'])

相关问题