Pentru ierarhizarea performanței (ex. cei mai buni agenți de vânzări sau cele mai bine vândute produse), Spark oferă două funcții analitice de clasament:
F.rank(): În cazul în care două elemente au scoruri identice, acestea primesc același loc, dar următorul loc va sări poziții (ex: 1, 2, 2, 4).F.dense_rank(): Asignează același loc la scoruri identice, dar nu lasă goluri în secvență (ex: 1, 2, 2, 3).
Exemplu: Clasamentul vânzărilor per departament
from pyspark.sql import functions as F
from pyspark.sql.window import Window
fereastra_dept = Window.partitionBy("departament").orderBy(F.col("vanzari").desc())
df_clasament = df.withColumn("loc_rank", F.rank().over(fereastra_dept)) \
.withColumn("loc_dense", F.dense_rank().over(fereastra_dept))
df_clasament.show(10)
Întrebări & Exemple de Cod:
Calculul Clasamentelor cu F.rank și F.dense_rankAi o nelămurire despre utilizarea comenzii
Calculul Clasamentelor cu F.rank și F.dense_ranksau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.