Ich automatisiere derzeit meine Apache Spark Pyspark-Skripte mit Clustern von EC2s mit Sparks vorkonfigurierten ./ec2-Verzeichnis. Für die Automatisierung und Terminplanung möchte ich das Boto EMR-Modul verwenden, um Skripte an den Cluster zu senden.läuft pyspark Skript auf EMR
Ich war in der Lage, Spark auf einem Cluster von EMRs zu installieren und zu installieren. Ich bin auch lokale ein Skript auf EMR starten kann Maschine Version von pyspark meiner durch die Verwendung und Einstellmeister wie solche:
$: MASTER=spark://<insert EMR master node of cluster here> ./bin/pyspark <myscriptname.py>
Doch diese mich erfordert das Skript lokal auszuführen, und damit bin ich nicht Botos Fähigkeit 1) den Cluster zu starten, 2) die Scriptschritte hinzuzufügen und 3) den Cluster zu stoppen. Ich habe Beispiele mit script-runner.sh und emr "step" -Befehlen für Spark-Shell (scala) gefunden, aber ich nehme an, dass es eine einfachere Möglichkeit gibt, dies mit dem Python-Modul (pyspark) zu tun. Vielen Dank im Voraus!
Was ist, wenn Sie ein Skript innerhalb eines größeren Git-Repository ausführen möchten? Ich kann den Repo durch eine Bootstrap-Aktion in den Cluster klonen, aber wie kann man dann 'spark -submit --master garn/pfad/zu/script_to_run.py'? –
@EvanZamir, ich denke, Sie können versuchen, einen [command runner] (http://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-commandrunner.html) in diesem Fall zu verwenden –