Да, вы можете вызывать подпроцессы внутри вашего графика.Тем не менее, есть некоторые последствия для этого.Пример: внутри вашего DoFn () вы можете сделать что-то вроде: shell (вызовите legacy exe для создания плоского файла).На этом этапе вам придется вручную заблокировать этот вызов или создать какое-то время оркестровки для обработки вывода.В Apache Beam нет механизма обратного вызова или диспетчеризации.Основным побочным эффектом этого сценария является то, что вы теперь блокируете DoFn от дальнейшей работы - таким образом, циклы записи просто блокируются.Если вызовы этого подпроцесса легки, вероятно, не проблема - если они требуют значительных ресурсов, например, последовательность этого генома - вы столкнетесь с некоторыми проблемами.
Более гибкий и эффективный способ выполнения этого типа работыэто смешать Cloud Composer с облачным потоком данных.Используйте Dataflow для работы, которая требует агрегирования, а затем отправьте долгосрочную (подпроцессную) работу в Cloud Composer.Например: проанализируйте население 1B человек, найдите лучших людей Y с особенностями X. Затем отправьте долго выполняющиеся процессы для анализа подпроцесса на Y.
Помогает ли это?