Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Retourneert een nieuw DataFrame dat is gepartitioneerd door de opgegeven partitioneringsexpressies. Het resulterende DataFrame is gepartitioneerd.
Syntaxis
repartitionByRange(numPartitions: Union[int, "ColumnOrName"], *cols: "ColumnOrName")
Parameterwaarden
| Kenmerk | Typ | Beschrijving |
|---|---|---|
numPartitions |
int | kan een int zijn om het doelaantal partities of een kolom op te geven. Als het een kolom is, wordt deze gebruikt als de eerste partitioneringskolom. Als dit niet is opgegeven, wordt het standaardaantal partities gebruikt. |
cols |
str of Column | partitionering van kolommen. |
Retouren
DataFrame: Opnieuw gepartitioneerd DataFrame.
Aantekeningen
Er moet ten minste één partitie-by-expressie worden opgegeven. Wanneer er geen expliciete sorteervolgorde is opgegeven, wordt 'oplopend null'-teken als eerste aangenomen.
Vanwege prestatieredenen gebruikt deze methode steekproeven om de bereiken te schatten. Daarom is de uitvoer mogelijk niet consistent, omdat steekproeven verschillende waarden kunnen retourneren. De steekproefgrootte kan worden beheerd door de configuratie spark.sql.execution.rangeExchange.sampleSizePerPartition.
Examples
from pyspark.sql import functions as sf
spark.createDataFrame(
[(14, "Tom"), (23, "Alice"), (16, "Bob")], ["age", "name"]
).repartitionByRange(2, "age").select(
"age", "name", sf.spark_partition_id()
).show()
# +---+-----+--------------------+
# |age| name|SPARK_PARTITION_ID()|
# +---+-----+--------------------+
# | 14| Tom| 0|
# | 16| Bob| 0|
# | 23|Alice| 1|
# +---+-----+--------------------+