Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Devuelve un nuevo DataFrame que tiene exactamente numPartitions particiones.
Sintaxis
coalesce(numPartitions: int)
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
numPartitions |
int | especifique el número de particiones de destino. |
Devoluciones
DataFrame
Notas
De forma similar a la fusión definida en un RDD, esta operación da como resultado una dependencia estrecha, por ejemplo, si va de 1000 particiones a 1000 particiones, no habrá un orden aleatorio, en lugar de cada una de las 100 particiones nuevas reclamará 10 de las particiones actuales. Si se solicita un mayor número de particiones, permanecerá en el número actual de particiones.
Sin embargo, si va a realizar una fusión drástica, por ejemplo, a numPartitions = 1, esto puede dar lugar a que el cálculo tenga lugar en menos nodos que le guste (por ejemplo, un nodo en el caso de numPartitions = 1). Para evitar esto, puede llamar a repartition(). Esto agregará un paso aleatorio, pero significa que las particiones ascendentes actuales se ejecutarán en paralelo (según lo que sea que sea la creación de particiones actual).
Ejemplos
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|
# +---------+