У меня есть очень простое задание Python Dataflow, которое считывает некоторые данные из Pub / Sub, применяет FixedWindow и записывает в Google Cloud Storage.
transformed = ...
transformed | beam.io.WriteToText(known_args.output)
Вывод записывается в определенное место в -вывод, но только временная стадия, то есть
gs://MY_BUCKET/MY_DIR/beam-temp-2a5c0e1eec1c11e8b98342010a800004/...some_UUID...
Файл никогда не помещается в правильно названное место с шаблоном шардинга.
Проверено на локальном и DataFlow Runner.
При дальнейшем тестировании я заметил, что в примере streaming_wordcount есть те же проблемы, однако стандартный пример wordcount пишет нормально.Возможно, проблема связана с управлением окнами или чтением из pubsub?
Похоже, WriteToText не совместим с потоковым источником PubSub.Вероятно, есть обходные пути, или версия Java может быть совместимой, но я решил использовать другое решение в целом.