Может кто-нибудь предложить инструмент, фреймворк или сервис для более быстрого выполнения приведенной ниже задачи.
Вход : входные данные для службы — это файл CSV, который состоит из идентификатора и нескольких столбцов изображений с более чем миллионом строк.
Задача: чтобы проверить, соответствует ли какой-либо столбец изображения строки минимальному разрешению, и создать новый логический столбец для каждой строки в соответствии с результатами.
True — если какое-либо изображение в строке соответствует минимальному разрешению
False — если ни одно изображение в строке не соответствует минимальному разрешению.
Текущая реализация: Скрипт Python с пандами и многопроцессорностью, работающий на большой виртуальной машине (60-ядерный процессор), что занимает около 4–5 часов. Поскольку это периодическая задача, мы планируем и управляем ею с помощью Cloud Workflow и Celery Backend.
Примечание. Мы стремимся сократить расходы, поскольку время безотказной работы сервера составляет всего около 4-6 часов в день. Следовательно, 60-ядерный ЦП 24 * 7 будет тратить много ресурсов впустую.
Изученные варианты:
- Мы исключили Cloud Run из-за ограничений памяти, процессора и времени ожидания.
- Apache Beam с Cloud Dataflow, похоже, меньше поддерживает неаналитические рабочие нагрузки, а реализация Dataframe с Apache Beam все еще выглядит глючной.
- Spark и Dataproc подходят для аналитических задач. Хотя вариант без сервера был бы гораздо предпочтительнее.
В каком направлении мне следует искать?