Flink 체크포인트로 상태와 입력 위치 복구하기

·
DE (Data Engineering)
창고별 배송 수량을 10초마다 집계하는 Flink 작업이 있다고 하자. 작업이 멈췄다가 다시 시작하면 어디서부터 읽어야 할까? 이미 결과를 내보낸 구간에 늦은 배송 이벤트가 도착하면 합계를 고칠 수 있을까?첫 번째 질문에는 체크포인트가 답한다. 체크포인트는 입력 위치와 연산 상태를 함께 저장해 복구 지점을 만든다. 두 번째 질문에는 윈도우와 워터마크가 답한다. 윈도우는 이벤트를 집계할 구간을 정하고, 워터마크는 이벤트 시간이 어디까지 진행됐는지 알려 준다.1. 체크포인트는 입력 위치와 연산 상태를 함께 저장한다Kafka 파티션 하나에서 오프셋 40의 수량 7과 오프셋 41의 수량 5를 처리했다고 하자. 이때 체크포인트에는 창고의 누적 합계 12와 다음에 읽을 오프셋 42가 저장된다. 작업이 오프셋 42의..