Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Zwraca nową ramkę danych zawierającą dokładnie numPartitions partycje.
Składnia
coalesce(numPartitions: int)
Parametry
| Parameter | Typ | Opis |
|---|---|---|
numPartitions |
int | określ docelową liczbę partycji. |
Zwroty
DataFrame
Notatki
Podobnie jak połączenie zdefiniowane na RDD, ta operacja powoduje zawężenie zależności, np. jeśli przejdziesz z 1000 partycji do 100 partycji, nie będzie mieszania, zamiast każdej z 100 nowych partycji będzie oświadczeń 10 bieżących partycji. Jeśli żądana jest większa liczba partycji, pozostanie ona na bieżącej liczbie partycji.
Jeśli jednak wykonujesz drastyczne łączenie, np. do wartości numPartitions = 1, może to spowodować, że obliczenia będą miały miejsce na mniejszej liczbie węzłów niż chcesz (np. jeden węzeł w przypadku elementów numPartition = 1). Aby tego uniknąć, możesz wywołać funkcję repartition(). Spowoduje to dodanie kroku mieszania, ale oznacza, że bieżące partycje nadrzędne będą wykonywane równolegle (zgodnie z bieżącym partycjonowaniem).
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|
# +---------+