我有一个需要从 pyspark.sql.DataFrame 中过滤的 ID 列表。 ID 有 3000000 个值。我使用的方法是
df_tmp.filter(fn.col("device_id").isin(device_id))
这需要很长时间并且卡住了。 有什么替代方法?
我有一个需要从 pyspark.sql.DataFrame 中过滤的 ID 列表。 ID 有 3000000 个值。我使用的方法是
df_tmp.filter(fn.col("device_id").isin(device_id))
这需要很长时间并且卡住了。 有什么替代方法?
试试这个:
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",)