首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pyspark "isin“耗时太长

pyspark "isin“耗时太长
EN

Stack Overflow用户
提问于 2021-07-30 04:35:00
回答 1查看 52关注 0票数 0

我有一个需要从pyspark.sql.DataFrame中过滤的ID列表。ID有3000000个值。我使用的方法是

代码语言:javascript
复制
df_tmp.filter(fn.col("device_id").isin(device_id))

这需要很长时间,而且会卡住。这个的替代方案是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-30 08:37:53

试试这个:

代码语言:javascript
复制
from pyspark.sql import functions as F

df_temp.join(
    F.broadcast(
        spark.createDataFrame(
            [(ID_,) for ID_ in device_id],
            ["device_id"],
        )
    ),
    on="device_id",
)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68585481

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档