печать flink KeyedStream - PullRequest
       19

печать flink KeyedStream

0 голосов
/ 07 мая 2020

У меня DataStream<Tuple2<String, Integer>>

это печатается правильно

когда я нажимаю, окно, сумма, потом ничего не печатаю?

поэтому я беру свой рабочий поток stream, затем запустите:

DataStream<Tuple2<String, Integer>> groupedStream = stream
        .keyBy(0)
        .window(TumblingEventTimeWindows.of(Time.seconds(5)))
        .sum(1);

groupedStream.print();

ничего не появляется в stdout? Как я могу это отладить?

1 Ответ

0 голосов
/ 07 мая 2020

Большинство проблем (например, 95%), связанных с отсутствием вывода после выполнения оператора Window, происходит из-за того, что у вас нет надлежащего назначения водяных знаков или извлечения метки времени.

Итак:

  1. Если вы никогда не вызывали assignTimestampsAndWatermarks в своем потоке, вам следует это сделать.

  2. Если вы использовали AssignedWithPeriodicWatermark, то вам следует сделать убедитесь, что setAutoWatermarkInterval() не был установлен на 0.

  3. Убедитесь, что водяные знаки могут быть созданы правильно (т.е. ваши тестовые данные охватывают более 5 секунд)

  4. Также, возможно, стоит проверить, работает ли это с parallelism, равным единице, в качестве проверки безопасности.

...