Если вы ищете просто автоматизацию, вам следует прочитать о Pipeline Orchestration-
- EMR - это сервис AWS, который позволяет запускать распределенные приложения
- AWS DataPipeline это инструмент Orchestration, который позволяет вам запускать задания (действия) на ресурсах (EMR или даже EC2)
Если вы просто хотите последовательно запускать искомое задание, я бы предложил создать конвейер данных и настройку вашего конвейера на один шаг, который заключается в запуске свечи зажигания Scala на главном узле с использованием "shellcommandactivity". Другое преимущество заключается в том, что используемый вами jar-файл может быть сохранен в AWS S3 (служба хранения объектов), и вы просто предоставите путь s3 к вашей DataPipeline, и он подберет этот jar-файл, войдет в сервис EMR, который он принес up (с предоставленными вами конфигурациями) - клонируйте этот jar-файл на главном узле, запустите jar-файл с конфигурацией, указанной в "shellcommandactivity", и после завершения задания (успешно или с ошибкой) он завершит работу EMR кластер, поэтому вы не платите за это и зарегистрируйте вывод
Пожалуйста, прочитайте больше в нем: https://aws.amazon.com/datapipeline/ & https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/what-is-datapipeline.html
И если вы хотите, вы можете запустить этот конвейер через AWS SDK или даже настроить конвейер для запуска по расписанию