У меня есть огромный массив текстовых данных, хранящихся в миллионах файлов на S3. Очень часто я хочу выполнить некоторую операцию над каждым из этих файлов, которая использует только этот файл и создает из него новый файл. Обычно я использую для этого DataBricks моей компании, но он настолько заблокирован, что сложно развернуть там сложный код.
Я рассматривал возможность использования AWS Batch со спотовыми инстансами в качестве альтернативы DataBricks для некоторых из этих заданий. Я определенно хотел бы использовать несколько узлов, потому что самый большой отдельный узел был бы совершенно неспособен завершить работу в разумные сроки. Существуют, конечно, такие технологии, как Apache Spark, предназначенные для распределенных вычислений, но я (а) не уверен в своей способности настроить свой собственный кластер Spark и (б) не уверен, что Spark необходим для такой простой распределенная вычислительная работа. По сути, все, что мне нужно, — это чтобы узлы сообщали, над какими файлами они планируют работать, что они закончили и когда отключаются.Было бы просто, хотя и утомительно хранить всю эту информацию в базе данных, и мне не нужно переводить все мои данные в другую распределенную файловую систему.
Существует ли хорошая существующая технология для такого варианта использования?