Spark - Die instance-Typ wird bevorzugt für AWS-EMR-cluster?
Ich bin mit einige machine learning algorithmen auf EMR-Spark-cluster. Ich bin neugierig, welche Art von Instanz zu verwenden, so kann ich den optimalen Kosten - /performance-Gewinn?
Für die gleiche Höhe der Preise, ich kann wählen zwischen:
vCPU ECU Memory(GiB)
m3.xlarge 4 13 15
c4.xlarge 4 16 7.5
r3.xlarge 4 13 30.5
Welche Instanz verwendet werden soll, in EMR-Spark-cluster?
es hängt von Ihrem Anwendungsfall, Bedürfnisse, etc... (ganz Meinung QA)
Gerade was zum Beispiel, wenn ich bin gehen, um dem Zug ein ALS die Faktorisierung oder SVD auf matricies mit mehreren Millionen Einträgen?
Wie groß ist Ihre Daten? in GB?
Also, was ist die Größe?
Lassen Sie uns weiter, diese Diskussion im chat.
Gerade was zum Beispiel, wenn ich bin gehen, um dem Zug ein ALS die Faktorisierung oder SVD auf matricies mit mehreren Millionen Einträgen?
Wie groß ist Ihre Daten? in GB?
Also, was ist die Größe?
Lassen Sie uns weiter, diese Diskussion im chat.
InformationsquelleAutor shihpeng | 2015-05-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Generell, es hängt von Ihrem Anwendungsfall braucht, etc... Aber ich kann empfehlen eine minimale Konfiguration unter Berücksichtigung der Informationen, die Sie geteilt haben.
Scheinen Sie zu versuchen, um zu trainieren, ein
ALS
Faktorisierung oderSVD
auf Matrizen zwischen 2 ~ 4 GB Daten. Also eigentlich ist das nicht zu viel Daten.Werden Sie müssen mindestens 1 master-und 2-Knoten-setup und konfigurieren Sie eine kleine verteilte cluster. Der Meister gewann ' T tun alle Computer zu löschen, damit es nicht brauchen viel Ressourcen, aber natürlich würde ich tun, task-scheduling, etc.
Können Sie hinzufügen, Sklaven (Instanzen) nach Ihren Bedürfnissen.
m3.xlargem5.xlarge - vCPU : 4 , Arbeitsspeicher (RAM): 16 GB mit EBS-Speicher.c3.4xlargec5.xlarge - vCPU : 16, RAM : 32 GB mit EBS-Speicher.EDIT : Wie bereits erwähnt in den Kommentaren, 5. generation Instanzen sind nun verfügbar für jeden instance-Typen erwähnt in diesem thread: R5, M5 und C5. Im Allgemeinen, die neueste generation von instance-Typen sind billiger und leistungsfähiger als Ihre älteren Kollegen.
C3, C4 und C5 sind compute optimiert Instanzen mit high-performance-Prozessoren und mit niedrigsten Preis - /compute-Leistung, die in EC2 im Vergleich zur R3, R4 oder R5 obwohl es wird empfohlen, die Anwendungsfälle sind distributed-memory-caches und in-memory-analytics. Aber C5 wird die Arbeit für Sie für einen niedrigeren Preis.
EDIT : Sie könnten auch erwägen Sie das aktivieren der Ganglien zur überwachung der cluster-Ressourcen: CPU, RAM, Netzwerk-I/O. Dies würde Ihnen helfen, auch tuning Ihres EMR-cluster. Praktisch, Sie müssen nicht jede Konfiguration zu tun. Folgen Sie einfach den Dokumentation es hinzufügen, um Ihre EMR-cluster über die Schöpfung.
InformationsquelleAutor eliasah
Generell ist die bevorzugte Instanz hängt von der Arbeit, die Sie ausführen (ist die Speicher-Kapazität? ist es CPU-intensiv? etc.) Aber Funke ist sehr Speicher-intensiv, und ich würde nicht mit Maschinen mit weniger als 30 GB für die meisten jobs.
In Ihrem besonderen Fall (4Gb dataset) ich bin nicht sicher, warum Sie wollen würde, um zu verwenden, distributed computing, um mit zu beginnen - es wird nur machen Sie Ihren job zu langsam laufen. Wenn Sie sicher sind, dass Sie wollen, Funken führen Sie es im lokalen Modus mit X threads (je nachdem, wie viele Kerne haben)
Die minimale conf ist nicht zu verwenden EMR - nur eine Instanz (sogar eine spot-Instanz) laden Funke und führen Sie es im lokalen Modus
Mindestens conf für die EMR, die Frage wurde über die Funke an EMR nehme ich an. Habt einen schönen Tag!
Eigentlich, bevor wir das eigentliche training auf dem dataset, müssen wir die Vorverarbeitung der Rohdaten, die etwa 20~30 GB (nach dem Prozess, der Daten wird viel kleiner), die Lautstärke ist nicht möglich für eine einzelne Instanz (dauert ~20 Minuten), so verwenden wir die EMR zu tun, die ganzen Daten verarbeiten + Ausbildung Arbeit.
30GB ist machbar für einen einzelnen Knoten - eine cc2.8xlarge-spot-instance (32 vcpus, ram 60GB) kostet rund 20 Cent pro Stunde. Ich würde kaum denken, das hinzufügen Koordinierung Serialisierung (code und Daten) und Netzwerk-Latenzen umgehen würden 30 GB im Wert von Daten schneller. Sie können Lesen wollen aadrake.com/... (zum Beispiel)
InformationsquelleAutor Arnon Rotem-Gal-Oz