Я использую pyspark и имею RDD
следующего формата:
RDD1 = (age, code, count)
Мне нужно найти код с наибольшим числом для каждого возраста.
Я завершил это в dataframe
, используя Window function
и partitioning by age
:
df1 = df.withColumn("rank", rank().over(Window.partitionBy("age")
\.orderBy(desc("count")))).sort("age", desc("count"))
df2 = df1.select("age", "code", "count", "rank").where("rank = 1")
Однако мне нужно найти тот же результат, используя только RDD operations
, но я ' м не совсем уверен, как это сделать. Любые предложения были бы очень полезны!