Java: поток данных в последовательные вставки больших запросов - PullRequest
0 голосов
/ 03 октября 2019

Я хочу вставить данные в 2 таблицы Bigquery из одного задания потока данных. где вставка 2-й таблицы должна выполняться только после успешной вставки данных в 1-ю таблицу. Может кто-нибудь помочь, как я могу добиться / проверить, вставляются ли данные и перейти к вставке 2-й таблицы

1 Ответ

0 голосов
/ 03 октября 2019

Вы должны использовать Сигналы ожидания , это работает следующим образом

Применить T к X после того, как Y готов

X.apply(Wait.on(Y)).apply(T)
PCollection<Void> firstWriteResults = data.apply(ParDo.of(...write to first database...));
data.apply(Wait.on(firstWriteResults))
.apply(ParDo.of(...write to second database...));

Wait.on () может использоваться с пакетным и потоковым конвейерами

Вот еще один полезный пример

...