Я рассматриваю возможность использования AWS EMR Spark для запуска приложения Spark для очень больших файлов Parquet, хранящихся на S3. В целом процесс заключается в том, что процесс Java будет загружать эти большие файлы в S3, и я хотел бы автоматически запускать задание Spark (внедренное с помощью ключей (имен S3) загруженных файлов) в этих файлах. .
В идеале для подключения можно использовать некий триггер EMR на основе S3; то есть я настраиваю EMR / Spark для «прослушивания» сегмента S3 и запуска задания Spark при выполнении upsertis для этого сегмента.
Если такого триггера не существует, я, вероятно, мог бы что-то запутать, например, сбросить лямбду с события S3 и заставить лямбду как-то вызвать задание EMR Spark.
Однако мое понимание ( пожалуйста, поправьте меня, если я '' Это неправильно) единственный способ запустить задание Spark:
- Упаковать задание в виде исполняемого файла JAR; и
- Отправьте его в кластер (EMR или иным образом) с помощью
spark-submit
сценария оболочки
Так что, если мне нужно будет сделать lambda-kludge Я не совсем уверен, каков наилучший способ запуска задания EMR / Spark, поскольку Lambdas изначально не несет spark-submit
во время выполнения. И даже если бы я настроил свою собственную среду выполнения Lambda (которую я считаю теперь можно сделать), это решение уже кажется действительно вялым и нетерпимым.
Кто-нибудь когда-либо запускает EMR / Spark задание от триггера S3 или любой AWS триггер до?