API Flink DataStream включает соединение окна сеанса, которое описано здесь .
Вам нужно проверить, соответствует ли его семантика тому, что вы имеете в виду. Интервал между сеансами определяется тем, что оба потока не имеют событий в течение этого интервала, и соединение является внутренним соединением, поэтому, если существует окно сеанса, которое содержит элементы только из одного потока, выходные данные не будут отправлены.
Если это не отвечает вашим потребностям, я бы предложил функцию CoProcessFunction, но без окна сеанса. Другими словами, я предлагаю вам реализовать всю логику самостоятельно.