You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PySpark实现统计L_df存在而A_df中不存在的id数量的方法

PySpark等效实现方案

你可以根据数据量选择以下两种实现方式:

  • 小数据量场景(A_df的id数量不多,不会超出driver端内存),逻辑和numpy的isin写法对齐:
# 提取A_df的去重id列表
a_unique_ids = A_df.select("id").distinct().rdd.flatMap(lambda x: x).collect()
# 统计L_df中id不在上述列表的记录总数
missing_data = L_df.filter(~L_df["id"].isin(a_unique_ids)).count()
  • 大数据量场景(避免把id全量拉到driver端导致内存溢出),推荐使用分布式的左反连接实现:
# left_anti join 会直接保留L_df中无法和A_df匹配到id的全部记录
missing_data = L_df.join(A_df, on="id", how="left_anti").count()

两种写法的统计结果和你给出的numpy代码完全一致。


内容的提问来源于stack exchange,提问作者Fatemeh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 13:24:05