Ich entschuldige mich, wenn diese Frage bereits beantwortet wurde. Ich habe mir das Archiv angesehen, aber ich habe keine Antwort auf meine Frage gefunden.Warum verwendet local [*] nicht alle verfügbaren Kerne in meinem Rechner?
Ich bin neu in Spark. Ich versuche, das einfache Beispiel, das parallel angebracht wird, örtlich zu führen, spark-2.1.1 in meiner MacOS Sierra-Maschine verwendend. Da ich 4 Kerne habe und es 4 Aufgaben gibt, die jeweils 10 Sekunden dauern, habe ich gehofft, insgesamt etwas mehr als 10 Sekunden zu verbringen.
Ich sehe, dass jede Aufgabe die erwartete Menge an Zeit benötigt. Aber da scheint mir nur 2 Thread der Ausführung. Ich erwartete 4. Wie Sie im Code sehen können, ist der Wert jedes Tupels die Ausführungszeit der entsprechenden Aufgabe.
insight086: pyspark lquesada $ mehr Leistung/Teil-00000
(u'1', 10.000892877578735)
(u'3', 10.000878095626831)
insight086: pyspark lquesada $ mehr Leistung/Teil-00001
(u'2', 10.000869989395142)
(u'4', 10.000877857208252)
Auch die Gesamtzeit, dies nimmt wesentlich mehr als 20 Sekunden:
total_time 33.2253439426
Vielen Dank im Voraus für Ihre Hilfe!
Cheers, Luis
INPUT FILE:
1
2
3
4
SCRIPT:
from pyspark import SparkContext
import time
def mymap(word):
start = time.time()
time.sleep(10)
et=time.time()-start
return (word, et)
def main():
start = time.time()
sc = SparkContext(appName='SparkWordCount')
input_file = sc.textFile('/Users/lquesada/Dropbox/hadoop/pyspark/input.txt')
counts = input_file.flatMap(lambda line: line.split()) \
.map(mymap) \
.reduceByKey(lambda a, b: a + b)
counts.saveAsTextFile('/Users/lquesada/Dropbox/hadoop/pyspark/output')
sc.stop()
print 'total_time',time.time()-start
if __name__ == '__main__':
main()
Dieser Datensatz ist so klein, dass es unmöglich ist, etwas damit zu beweisen ... – eliasah
Meine eigentliche Frage war auf die Anzahl der verwendeten Kerne. Ich schätze jedoch die Tatsache, dass Sie mich auf "Inkonsistente Leistungszahl bei der Skalierung der Anzahl der Kerne" hingewiesen haben, da dies für meine Bedenken hinsichtlich des Overheads sicherlich relevant ist. –