Window 함수: 창 파티션 내의 행 순위를 반환합니다.
순위와 dense_rank 차이는 dense_rank 관계가 있을 때 순위 순서에 간격을 두지 않는다는 것입니다. 즉, dense_rank 사용하여 대회 순위를 정하고 3명이 동률을 이루면 세 명 모두 2위, 다음 사람은 3위를 차지했다고 말할 수 있습니다. 순위는 나에게 순차적 인 숫자를 줄 것이다, 3 위 (관계 후)에 온 사람이 다섯 번째에 오는 것으로 등록 할 수 있도록.
이는 SQL의 RANK 함수와 동일합니다.
문법
from pyspark.sql import functions as sf
sf.rank()
매개 변수
이 함수는 매개 변수를 사용하지 않습니다.
Returns
pyspark.sql.Column: 순위를 계산하기 위한 열입니다.
예시
from pyspark.sql import functions as sf
from pyspark.sql import Window
df = spark.createDataFrame([1, 1, 2, 3, 3, 4], "int")
w = Window.orderBy("value")
df.withColumn("drank", sf.rank().over(w)).show()
+-----+-----+
|value|drank|
+-----+-----+
| 1| 1|
| 1| 1|
| 2| 3|
| 3| 4|
| 3| 4|
| 4| 6|
+-----+-----+