Obecnie zautomatyzowałem skrypty Apache Spark Pyspark za pomocą klastrów EC2, używając wstępnie skonfigurowanego katalogu Sparks ./ec2. Dla celów automatyzacji i planowania, chciałbym użyć modułu Boto EMR do wysyłania skryptów do klastra.uruchamianie skryptu Pyspark na EMR
Udało mi się załadować i zainstalować Spark na klastrze EMR. Jestem również w stanie uruchomić skrypt na EMR za pomocą wersji mojego lokalnego urządzenia z pyspark i ustawienie mistrza jak takie:
$: MASTER=spark://<insert EMR master node of cluster here> ./bin/pyspark <myscriptname.py>
Wymaga to jednak mi się uruchomić ten skrypt lokalnie, a więc nie jestem w stanie w pełni wykorzystać zdolność Boto do 1) uruchomienia klastra 2) dodać kroki skryptu i 3) zatrzymać klaster. Znalazłem przykłady, używając komend script -runner.sh i emr "step" dla iskry-powłoki (scala), ale zakładam, że jest to łatwiejszy sposób z modułem Python (pyspark). Dziękuję bardzo z góry!
Co zrobić, jeśli chcesz uruchomić skrypt w większym repozytorium git? Mogę sklonować repo do klastra za pomocą akcji bootstrap, ale jak to zrobić "spark-submit - master przędza/path/to/script_to_run.py"? –
@EvanZamir, Myślę, że możesz spróbować użyć [command runner] (http://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-commandrunner.html) w tym przypadku –