Flink windowed aggregation¶
Примеры3B · Общие setup/версии · Фактические проверки (архив рабочего проекта)
Тип материала: учебное практическое упражнение. Выполненные и непроверенные шаги указаны отдельно.
Команды выполняются из examples/processing после общего setup; $labPython — interpreter venv. Runtime и documented expected result различаются.
Зависимости и версии¶
Flink1.20.3/Java17, runtime Compose, windows.sql, prepared data.
Команды запуска¶
& $labPython prepare_inputs.py
docker compose -f compose-runtimes.yaml --profile flink up -d
docker compose -f compose-runtimes.yaml exec jobmanager /opt/flink/bin/sql-client.sh -f /opt/handbook/windows.sql
Тестовые данные¶
Prepared unique4 facts из raw5; prep проверяет conflicts и детерминированно удаляет identical duplicate. Flink example не заявляет live streaming dedup. SQL event_time — TIMESTAMP(3), UTC, HOP size10s/slide5s.
Ожидаемый результат¶
Пять rows, порядок вывода не фиксирован: t7 windows[-5,5)=75,[0,10)=275,[5,15)=200; t8[5,15)=50,[10,20)=50 относительно2026-11-01T00:00:00Z. Перекрывающиеся суммы нельзя складывать как независимый financial total.
Ограничения и статус проверки¶
Runtime job NOT_RUN. Bounded batch input не проверяет live watermark/idleness/checkpoints/late correction recovery. Таблица/TVF/JSON format требуют проверки на image; наличие SQL и YAML parsing её не заменяет.
Полный журнал ограничений (архив рабочего проекта) хранит NOT_RUN и failed runtime attempts; их нельзя считать выполненными integration tests.