Я пишу простой потоковый конвейер (Apache Beam 2.11 SDK, Python 2.7.10) и запускаю его в средстве выполнения потоков данных, читая форму Pub / Sub >> примените поэлементный луч .Map () transsform >> sink toBigQuery (код https://github.com/vibhorj/gcp/blob/master/df/streaming.py)
. Как видно на скриншоте ниже, он просто застрял на шаге 2, преобразование map (). Входные коллекции прочитали 265 элементов, но выходные коллекции пустые. Несмотря на то, что данныеВодяной знак для этого шага прогрессирует почти в реальном времени!
Ничего не передается в BQ либо (я подтвердил это, выполнив запрос: SELECT * FROM sw.payload
). Может кто-нибудь объяснить, что не так в моем кодеэто препятствует тому, чтобы форма данных проходила через шаги конвейера ? Я ожидал, что вещи будут передаваться в приемник BQ практически в реальном времени, так как сообщения публикуются в PubSub.
Я не использую никаких преобразований группировки / агрегатов и, следовательно,не вижу причин, по которым оконные функции / триггеры могут здесь вызывать какие-либо проблемы (поправьте меня, если я ошибаюсь!).
Заранее спасибодля любой подсказки, чтобы это исправить!
: ОБНОВЛЕНИЕ : написал другой конвейер с нуля, и, кажется, он работает нормально, в течение <10 секунд данные обнаружились в BQ!для этого конвейера данные, похоже, застряли в буфере потоков BQ (см. снимок экрана, взятый @ 22: 15: 00).Найден другой связанный поток SO <a href="https://stackoverflow.com/questions/53157437/streaming-buffer-google-bigquery/55075762"> Потоковый буфер - Google BigQuery , но это также не решает мои проблемы!
![](https://i.stack.imgur.com/vrr8Y.png)