Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

타임스탬프와 워터마크 지정

항목값
화면 이름Assign timestamps and watermarks
식별자assignTimestampsAndWatermarksV1
지원 실행 방식Streaming
범주열, 행과 실행 제어 (Other)

입력에 타임스탬프와 워터마크를 지정합니다. 타임스탬프가 null인 레코드는 제외합니다.

입력 인자

이름지정 여부자료형의미와 조건
Dataset필수Table타임스탬프와 워터마크를 지정할 데이터셋입니다.
Timestamp expression필수Expression<Timestamp>지정할 타임스탬프를 계산하는 표현식입니다.
Emit watermark on every record선택Literal<Boolean>true이면 스트림의 모든 레코드마다 워터마크를 전파합니다. 성능 부담이 생기지만 재생 시 결정적인 동작을 제공합니다. 대부분의 경우 false가 권장됩니다.
Idleness timeout unit선택Enum<Days, Hours, Milliseconds, Minutes, Seconds, Weeks>하위 작업을 유휴 상태로 판단할 시간 단위입니다.
Idleness timeout value선택Literal<Long>레코드가 들어오지 않는 하위 작업을 유휴 상태로 판단할 기간입니다. 유휴 작업은 전역 워터마크 진행을 막지 않으므로 시간 기반 상태가 무한히 커지거나 윈도가 출력하지 않는 문제를 줄일 수 있습니다. 다만 느린 작업의 늦은 레코드는 허용 지연이 있는 하위 연산에서 예상치 못하게 제외될 수 있습니다.

입출력 예시

예시 1: 기본 동작

인자 값:

  • Dataset: ri.foundry.main.dataset.a
  • Timestamp expression: timestamp
  • Emit watermark on every record: null
  • Idleness timeout unit: null
  • Idleness timeout value: null

입력:

timestamptemperaturesensor_id
1969-12-31T23:59:50Z28sensor_1
1969-12-31T23:59:40Z30sensor_2
1969-12-31T23:59:35Z29sensor_1

출력:

timestamptemperaturesensor_id
1969-12-31T23:59:50Z28sensor_1
1969-12-31T23:59:40Z30sensor_2
1969-12-31T23:59:35Z29sensor_1

예시 2: null 처리

인자 값:

  • Dataset: ri.foundry.main.dataset.a
  • Timestamp expression: timestamp
  • Emit watermark on every record: null
  • Idleness timeout unit: null
  • Idleness timeout value: null

입력:

timestamptemperaturesensor_id
1969-12-31T23:59:50Z28sensor_1
null30sensor_2
null29sensor_1

출력:

timestamptemperaturesensor_id
1969-12-31T23:59:50Z28sensor_1