Ключи в основном позволяют группировать данные во входном потоке логически вместе.
Это позволяет оптимизировать обработку, поскольку сгруппированные (по ключу) данные в окне могут обрабатываться независимо параллельно с другими группами впоток.
В качестве хорошего примера, из документации Apache Link (https://flink.apache.org/news/2015/12/04/Introducing-windows.html), поток может содержать показания датчиков трафика, и вам могут потребоваться 30-секундные окна - т.е. счетчик трафика, проходящего через датчиккаждые 30 секунд.
Если у вас есть несколько датчиков, вы можете иметь данные, введенные с помощью идентификатора датчика, и рассчитывать трафик, проходящий через каждый отдельный датчик каждые 30 секунд, а также общее количество.