1

Wir führen derzeit parallele Spark-Jobs in einem EMR-Cluster mithilfe der HadoopActivity-Aufgabe von Datapipeline aus. Standardmäßig legen die neueren Versionen von EMR-Clustern die dynamische dynamic-Zuordnung auf "true" fest, wodurch die Anzahl der erforderlichen Executors basierend auf der Auslastung erhöht/reduziert wird. Also müssen wir irgendeine andere Eigenschaft zusammen mit der Funkenübermittlung einstellen, z. Anzahl der Kerne, Executor-Speicher usw. oder ist es am besten, EMR-Cluster dynamisch zu behandeln?Spark-Konfiguration senden, während parallele Jobs in EMR ausgeführt werden

Antwort

0

Dies hängt immer davon ab, wie Ihre Anwendung funktioniert. Ich kann Ihnen ein gutes Beispiel dafür geben, wie ich hier arbeite. Für die Data Scientists im Allgemeinen verwenden sie die Standardkonfiguration und es funktioniert ziemlich gut, da sie hier Jupyter verwenden, um ihre Modelle zu betreiben. Die einzige Sache, die wir einrichten, die für Sie nützlich sein kann, ist das conf spark.dynamicAllocation.minExecutors das erlaubt, mindestens zwei oder einen Arbeiter für den Job zu gründen. Um nicht ohne einen Executor zu sein. Das machen wir mit den Data Scientists.

EMR verfügt jedoch über einen spezifischen Konfigurationstyp für jeden Maschinentyp, den Sie auswählen. Im Allgemeinen ist es für die häufigsten Aktivitäten optimiert. Aber manchmal müssen Sie entsprechend Ihrer Anfrage ändern, wenn Sie mehr Speicher und weniger Kerne für verzerrte Daten benötigen, die besser geändert werden können.

Verwandte Themen