Was ist der Unterschied zwischen spark ' s shuffle Lesen und shuffle schreiben?
Muss ich laufen, eine spark-Programm, das hat eine riesige Menge an Daten. Ich bin versucht zu optimieren, das spark-Programm und die durch spark-UI und versucht, um den Shuffle-Teil.
Gibt es paar der genannten Komponenten, shuffle Lesen und shuffle schreiben. Ich kann verstehen, dass die Differenz basiert Ihre Terminologie, aber ich würde gerne verstehen, die genaue Bedeutung von Ihnen und die von spark ' s shuffle lese - /Schreibzugriff reduziert die Leistung?
Suchte ich über das internet, aber nicht finden konnten, eine solide in die Tiefe details über Sie, so wollte, um zu sehen, wenn jemand kann erklären Sie hier.
- Nummer-eins-Optimierung-Tipp in der Funke: versuchen Sie, reduzieren Sie die Anzahl der shuffles.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vom UI-tooltip
Shuffle Lesen
Shuffle Schreiben
Ich habe vor kurzem begonnen, mit Funke. Ich habe auf der Suche nach Antworten auf die gleiche Art von Fragen.
Wenn die Daten von einer Phase gemischt wird, um eine nächste Stufe über das Netz, das die executor(s), die Verarbeitung der nächsten Stufe ziehen sich die Daten aus der ersten Phase, den Prozess über tcp. Mir ist aufgefallen das shuffle "schreiben" und "Lesen" - Metriken, die für jede Phase angezeigt, in der Spark-UI für einen bestimmten job. Eine Bühne auch möglicherweise hatte eine "input" - Größe (zB. Eingabe von HDFS oder hive table scan).
Bemerkte ich, dass der shuffle-schreiben der Größe von einer Bühne, die fed in ein anderes Stadium nicht mit, dass Phasen shuffle Lesen Größe. Wenn ich mich richtig erinnere, gibt es reducer Typ-Operationen, die durchgeführt werden können, die auf den shuffle-Daten, bevor Sie übertragen werden, um die nächste Stufe/executor als eine Optimierung. Vielleicht trägt dies zu Unterschied in der Größe und somit die Relevanz der Berichterstattung sowohl Werte.