Ich habe eine 5-Knoten-Cluster.Ich lade eine 100k CSV-Datei auf einen Datenrahmen mit pyspark und einige Etl-Operationen und das Schreiben der Ausgabe in eine Parkett-Datei. Wenn ich den Datenrahmen lade, kann ich den Datensatz gleichmäßig auf alle Executoren verteilen, so dass jeder Executor 20k Datensätze verarbeitet.pyspark Split Last gleichmäßig über alle Executoren
Antwort
Stellen Sie nach Möglichkeit sicher, dass die Eingabedaten in kleinere Dateien aufgeteilt werden. so liest und verarbeitet jeder Executor eine einzelne Datei.
Im Fall, dass Sie die Eingabedateien nicht ändern können, können Sie df.repartition(5)
nennen kann, aber denken Sie daran, dass es eine teure Shuffle Betrieb verursachen können
Das Hinzufügen der Neupartitionierung dauert länger als Sie gesagt haben.Ich dachte, wenn die Daten gleichmäßig über alle 5 Knoten verteilt sind, wird der Prozess schneller beendet. df = sqlContext.read.format ('com.databricks.spark.csv'). load ("/ dwo_poc/rows.csv") dz = df.repartition (5) dz.show (100) – srini
So ist es vorgeschlagen, nicht neu zu partitionieren.Es scheint, als wäre die Kosten für Shuffle teurer als der Vorteil der Parallelität und gleichmäßig verteilt die Last.Korrigieren Sie mich, wenn mein Verständnis falsch ist. – srini
Es gibt keine Antwort, die alle passt. Am besten versuchen Sie herauszufinden, was am besten zu Ihrer Arbeitslast passt – lev
- 1. Split-Elemente gleichmäßig innerhalb div
- 2. Split-Array in gleichmäßig verteilten Chunks
- 3. Split string und exclude last split
- 4. Split mit pyspark
- 5. Split den Dateiinhalt gleichmäßig in Ruby
- 6. Pyspark: Split mehrere Array-Spalten in Zeilen
- 7. PySpark RDD Liste Split von Delimeter
- 8. PySpark: Split ein df Rahmen n mal
- 9. Split RDD in n Teile in pySpark
- 10. Funken dynamische Zuordnung Executoren Fehler
- 11. Benutzerdefinierte Funktion über pyspark Dataframe
- 12. Pyspark alle Verbindungen fallen lassen
- 13. Spring Integration Pool Executoren
- 14. Spread imageViews gleichmäßig über die Tabelle
- 15. Raumnavigation gleichmäßig über das Fenster (reaktionsfähig)
- 16. benötigen Knoten ordnen gleichmäßig über die Fläche
- 17. Wie können Objekte in Spark-Scala über Executoren verteilt werden?
- 18. TinyMCE Fehler über jquery Last
- 19. Iterierte über pyspark Datenrahmen Spalten
- 20. Jenkins Variable, verschiedene Executoren
- 21. Anzahl der Executoren für eine Spark-Instanz erhöhen
- 22. Wie man scheinbar inaktive Executoren aus einem lang laufenden PySpark-Framework befreit?
- 23. Kann jemand erklären, über RDD-Blöcke in Executoren
- 24. pyspark Split csv mit Leerzeichen in string - jupyter Notebook
- 25. PySpark: Iterations über dict Typ RDD
- 26. PySpark + Google Cloud Speicher (wholeTextFiles)
- 27. split() spaltet nicht alle Leerzeichen?
- 28. Filterboxen, die alle unter Last zeigen
- 29. Wie die SpringJUnit4ClassRunner Last alle @Configuration Klassen
- 30. CSS greifen alle Klassenname außer Last
Sie verwenden 'repartition (5)'. – philantrovert