pyspark“isin”花费太长时间

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

df_tmp.filter(fn.col("device_id").isin(device_id))

这需要很长时间并且卡住了。 有什么替代方法?

qq378755837 回答:pyspark“isin”花费太长时间

试试这个:

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",)
本文链接:https://www.f2er.com/12213.html

大家都在问