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 met exact numPartitions partities.
Syntaxis
coalesce(numPartitions: int)
Parameterwaarden
| Kenmerk | Typ | Beschrijving |
|---|---|---|
numPartitions |
int | geef het doelaantal partities op. |
Retouren
DataFrame
Aantekeningen
Net als bij de samenvoeging die is gedefinieerd op een RDD, resulteert deze bewerking in een smalle afhankelijkheid, bijvoorbeeld als u van 1000 partities naar 100 partities gaat, is er geen willekeurige volgorde, in plaats van elk van de 100 nieuwe partities 10 van de huidige partities. Als er een groter aantal partities wordt aangevraagd, blijft het huidige aantal partities behouden.
Als u echter een drastische samenvoeging uitvoert, bijvoorbeeld naar numPartitions = 1, kan dit ertoe leiden dat uw berekening plaatsvindt op minder knooppunten dan u wilt (bijvoorbeeld één knooppunt in het geval van numPartitions = 1). U kunt dit voorkomen door repartition() aan te roepen. Hiermee wordt een willekeurige stap toegevoegd, maar dit betekent dat de huidige upstream-partities parallel worden uitgevoerd (ongeacht wat de huidige partitionering is).
Examples
from pyspark.sql import functions as sf
spark.range(0, 10, 1, 3).coalesce(1).select(
sf.spark_partition_id().alias("partition")
).distinct().sort("partition").show()
# +---------+
# |partition|
# +---------+
# | 0|
# +---------+