pyspark检查元素在一个巨大的列表中

时间:2018-04-11 07:54:37

标签: pyspark

我有一个中等大小的火花数据帧(如10000到100000行),并希望根据行是否在一个巨大的列表(数千万的长度)中来过滤行。我做的是:

sc.broadcast(huge_list)
df = df.filter(df['some_col'].isin(huge_list))
然而,表现相当缓慢。有没有一种有效的方法呢?

1 个答案:

答案 0 :(得分:2)

只需执行join。 你在行中爆炸你的列表。然后,您使用inner加入两个数据框。结果应该更快。