Freigeben über


partitionBy (Window)

Erstellt eine WindowSpec mit der definierten Partitionierung.

Syntax

Window.partitionBy(*cols)

Parameter

Parameter Typ Beschreibung
cols str, Column oder list Namen von Spalten oder Ausdrücken.

Rückkehr

WindowSpec

Beispiele

from pyspark.sql import Window, functions as sf

df = spark.createDataFrame(
    [(1, "a"), (1, "a"), (2, "a"), (1, "b"), (2, "b"), (3, "b")], ["id", "category"])

# Show row number ordered by id in each category partition.
window = Window.partitionBy("category").orderBy("id")
df.withColumn("row_number", sf.row_number().over(window)).show()
# +---+--------+----------+
# | id|category|row_number|
# +---+--------+----------+
# |  1|       a|         1|
# |  1|       a|         2|
# |  2|       a|         3|
# |  1|       b|         1|
# |  2|       b|         2|
# |  3|       b|         3|
# +---+--------+----------+