Сохранение порядка возможно, но не уверен, прост он или эффективен.
Это также зависит от того, сколько данных (elements / se c) вы ожидаете, а также от типа приемника. , Потенциально можно было бы сделать так, чтобы конвейер записывал упорядоченные записи в GCS, а приемник просто считывал файлы по порядку как вторичный процесс.
Другой вариант - использовать параллельные записи и убедиться, что база данных может использоваться только до времени выхода водяного знака последней ступени луча, возможно, это возможно, но на самом деле это не основной сценарий использования Dataflow / Apache Beam.
Возможно, могут быть способы обработки потока не по порядку , но пишите в промежуточный приемник, который можно легко прочитать по порядку. т.е. выписывание пакетов мутаций с номером шага или номером файла, которые можно легко использовать для упорядочения файлов при применении к конечному приемнику.
Окно + запись в конечную архитектуру приемника будет трудно понять правильно вероятно слишком сложный для небольшого объема элементов и слишком неэффективный для большого объема. Этот является хорошим примером того, как это может выглядеть.
Но, опять же, имейте в виду, что все эти подходы определенно не являются основным вариантом использования Dataflow / Apache Beam.