Apache Лучевой пакетной обработки раннего вывода? - PullRequest
0 голосов
/ 05 февраля 2020

Есть ли способ запустить ранний вывод windows при работе в пакетном режиме? Я пробовал несколько триггеров с помощью обработчика потока данных, чтобы получить ранний вывод окна, но они всегда удерживаются до конца обработки.

Ответы [ 2 ]

1 голос
/ 14 февраля 2020

В отличие от потоковой передачи, пакет потока данных всегда выполняет целые (объединенные) этапы до завершения в топологическом порядке (включая GroupByKey). Таким образом, как только он начинает обработку ключа после GBK, он всегда имеет все значения для этого ключа и вызывает последующие операции ровно один раз с парой ключ-значение. Триггеры в Beam являются нижней границей того, как скоро данные для окна могут быть освобождены, но не вызывают преждевременное освобождение (отсюда и имена После Количество, После Водяной знак и др. c.), и, как таковая, пакетная модель технически удовлетворяет контракту с одним и только одним «выстрелом».

Невозможно получить ранний вывод окна на Поток данных (или любой другой бегун, которого я знаю) в пакетном режиме.

0 голосов
/ 06 февраля 2020

Это полностью зависит от типа выполняемой вами операции. Предположим, что вы выполняете агрегированную операцию, в этом случае она будет удерживать результат до конца шага обработки потока данных. В противном случае Dataflow выпустит вывод, как только часть обработки завершится, он не будет ждать завершения этапа обработки. Если возможно, опубликуйте свой код, чтобы я мог отладить часть кода.

...