Если вам необходимо выполнить определенные операции последовательно, лучше всего сделать группу по ключу, которая соберет их вместе.
Например, если у вас есть два разных элемента, записывающих в один и тот же файл GCS, вы захотите сделать что-то вроде:
(my_collection | beam.Map(lambda x: (x['filename'], x))
| beam.GroupByKey()
| beam.Map(write_each_value))
Выполняя GroupByKey
, вы гарантируете, что элементы с одинаковыми именами файлов попадут в один и тот же рабочий и будут работать последовательно.