pyspark dataframe filter or include based on list

后端 未结 3 812
自闭症患者
自闭症患者 2020-11-29 03:42

I am trying to filter a dataframe in pyspark using a list. I want to either filter based on the list or include only those records with a value in the list. My code below

3条回答
  •  离开以前
    2020-11-29 04:33

    I found the join implementation to be significantly faster than where for large dataframes:

    def filter_spark_dataframe_by_list(df, column_name, filter_list):
        """ Returns subset of df where df[column_name] is in filter_list """
        spark = SparkSession.builder.getOrCreate()
        filter_df = spark.createDataFrame(filter_list, df.schema[column_name].dataType)
        return df.join(filter_df, df[column_name] == filter_df["value"])
    

提交回复
热议问题