Ich denke, ich verstehe nicht genug, um Jobs zu starten.Wie starten Sie parallele Funkenjobs?
Ich habe einen Job, der 60 Sekunden dauert, um zu beenden. Ich betreibe es mit folgenden Befehl ein:
spark-submit --executor-cores 1 \
--executor-memory 1g \
--driver-memory 1g \
--master yarn \
--deploy-mode cluster \
--conf spark.dynamicAllocation.enabled=true \
--conf spark.shuffle.service.enabled=true \
--conf spark.dynamicAllocation.minExecutors=1 \
--conf spark.dynamicAllocation.maxExecutors=4 \
--conf spark.dynamicAllocation.initialExecutors=4 \
--conf spark.executor.instances=4 \
Wenn i Anzahl der Partitionen von Code und die Anzahl der Testamentsvollstrecker erhöhen die App schneller fertig wird, die es in Ordnung ist. Aber wenn ich nur Executor-Cores erhöhe, ist die Endzeit gleich und ich verstehe nicht warum. Ich erwarte, dass die Zeit niedriger ist als die Anfangszeit.
Mein zweites Problem ist, wenn ich zweimal über Code starte ich erwarte, dass beide Aufträge in 60 Sekunden enden, aber das passiert nicht. Beide Jobs enden nach 120 Sekunden und ich verstehe nicht warum.
Ich führe diesen Code auf AWS EMR, auf 2 Instanzen (4 CPU pro, und jede CPU hat 2 Threads). Von dem, was ich in Standard-EMR-Konfigurationen gesehen habe, wird Garn mit CapacityScheduler in den FIFO (Standard) -Modus gesetzt.
Was denken Sie über diese Probleme?