Из того, что я прочитал из документации Apache Beam, Direct Runner следует использовать в качестве бегуна для тестирования / отладки кода вашего конвейера.
Дело в том, что мой сценарий использования состоит из больших и (иногда) маленьких наборов данных, которые должны обрабатываться партиями. Я хочу повторно использовать один и тот же код конвейера для обоих типов наборов данных.
Я не думаю, что паралеллизм был бы полезен для записи небольших наборов данных (2000/3000 записей) в базу данных SQL в большинстве случаев. Если бы я использовал Cloud Dataflow с небольшими наборами данных, у меня были бы накладные расходы, связанные со временем запуска виртуальной машины, поскольку невозможно использовать одну выделенную виртуальную машину в потоке данных.
В этом контексте я подумал об использовании Direct Runner для работы с небольшими наборами данных. Будет ли это плохое решение для производственной среды? Или есть бегун, более подходящий для этого, о котором я не знаю?
Кроме того, Direct Runner создает потоки для преобразования ParDo автоматически? Если да, есть ли аргумент / опция для указания максимального количества потоков, с которыми должен работать бегун?