I have a PySpark dataframe and I want to filter based on unique values in some columns.
from pyspark.sql import SparkSession
spark_session = SparkSession.builder.enableHiveSupport().getOrCreate()
columns = ["language","users_count","apple"]
data = [("Java", 1, 0.0), ("Scala", 4, -4.0), ("Java", 1, 0.0)]
pyspark_df = spark_session.createDataFrame(data).toDF(*columns)
pandas_df = pd.DataFrame(data, columns=columns)
# Operation I want to replicate in PySpark:
column_list = ['language','users_count'] #these names and number of columns can be changed at runtime.
unique_dfs = [df for id, df in pandas_df.groupby(column_list
, as_index=False)]
Another approach that can be done is to create a column in PySpark df and put unique values (string ( language + users_count ) and later filter on those unique values to get dfs.