Frage

Ich frage mich, wie andere Entwickler ihre lokalen Umgebungen für die Arbeit an Spark -Projekten einrichten. Konfigurieren Sie einen "lokalen" Cluster mit einem Tool wie Vagrant? Oder ist es am häufigsten, SSH in eine Cloud -Umgebung wie einen Cluster auf AWS zu finden? Vielleicht gibt es viele Aufgaben, bei denen ein einzelner Knotencluster ausreichend ist und leichter ausgeführt werden kann.

War es hilfreich?

Lösung

Spark soll in großen verteilten Datensätzen gezeigt werden. Wie Sie vorschlagen, werden die typischsten Anwendungsfälle, wie Sie vermuten lassen, eine Verbindung zu einer Art Cloud -System wie AWS herstellen.

Wenn der Datensatz, den Sie analysieren möchten, in Ihr lokales System passen kann, können Sie normalerweise feststellen, dass Sie ihn genauso analysieren können, nur als nur Python mit reinem Python. Wenn Sie versuchen, eine Reihe lokaler VMs zu nutzen, werden Sie ziemlich schnell das Gedächtnis mehr haben und Jobs scheitern oder schleifen zum Stillstand.

Trotzdem ist eine lokale Instanz von Funken für die Entwicklung sehr nützlich.

Eine Möglichkeit, wie ich herausgefunden habe, dass es funktioniert, wenn ich ein Verzeichnis in HDFs mit vielen Dateien habe, werde ich eine einzige Datei überfahren, lokal entwickeln und mein Spark -Skript für die Ausführung in mein Cloud -System portieren. Wenn Sie AWS verwenden, ist dies sehr hilfreich, um große Gebühren während der Entwicklung zu vermeiden.

Andere Tipps

Persönlich benutze ich Vagrant nicht mit einer lokalen Bereitstellung. Ich habe ein Spark -Cluster lokal ohne HDFs installiert, mit dem ich ohne die Überwältigung einer virtuellen Maschine leicht experimentieren und sich leicht entwickeln kann.

HDFS ist keine Voraussetzung für lokale Cluster, und es ist auch eine Art Albtraum für Systemverwaltung, wenn Sie sie nur für lokale Tests benötigen.

Spark funktioniert sehr gut mit lokalen Dateisystemen, die Sie natürlich auch portieren müssen, wenn Sie auf Ihrer Cloud bereitstellen.

Trotzdem können Sie Vagrant mit AWS -Bereitstellung verwenden, um einen Cluster für schwerere Tests zu erstellen.

Hinweis: AWS funktioniert mit S3 und nicht mit HDFs. Die HDFS -Version von AWS ist kurzlebig und wenn Sie den Cluster ablegen, verlieren Sie alle Ihre Berechnungen. Für die Persistenz müssen Sie zu S3 zurückschreiben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit datascience.stackexchange
scroll top