Testowałem piśmie:Spark partitionBy znacznie wolniej niż bez niego
df.write.partitionBy("id", "name")
.mode(SaveMode.Append)
.parquet(filePath)
Jednak jeśli pominąć partycjonowanie: (!)
df.write
.mode(SaveMode.Append)
.parquet(filePath)
Wykonuje 100x szybciej.
Czy zapisanie partycji jest normalne, aby ta sama ilość danych zajęła 100x więcej czasu?
Istnieje 10 i 3000 unikatowych wartości kolumn id
i . Obiekt DataFrame
ma 10 dodatkowych kolumn całkowitych.
Czy to powoduje przetasowanie? – Gillespie
Ile danych dotyczy? Może to być wszystko pasuje do jednej partycji, zanim zmusisz ją do podziału na partycje. –
@Gillespie jak mogę się dowiedzieć? – BAR