자주 사용하는 스케줄 구성
스케줄의 시간 조건과 데이터 변경 조건은 서로 다른 상태를 유지합니다. 시간 조건은 해당 순간에만 참이고, 데이터 이벤트는 전체 스케줄이 실행될 때까지 참 상태를 유지합니다. 실행 시각과 데이터 신선도를 함께 맞추려면 이 차이를 반영해야 합니다.
평일 09:00에 상위 의존성까지 빌드
가상 데이터셋 raw_taxi (cleaned)를 매주 월요일부터 금요일까지 09:00에 갱신하고 상위 의존성도 함께 빌드하는 구성입니다.
raw_taxi (cleaned)를 대상으로 지정합니다.- 상위 데이터셋을 포함하는 전체 빌드를 선택합니다.
- 시간 트리거에서 월요일부터 금요일까지, 09:00을 선택합니다.
- 시간대를 지정합니다. 아래 화면의 예시는
Europe/London입니다.
시간대의 시계가 바뀌는 경우도 해당 현지 시각을 기준으로 평가합니다. 강제 빌드를 켜지 않은 일반 변환은 실행 시 최신 상태 판단에 따라 실제 작업을 건너뛸 수 있습니다.
새 데이터가 들어오면 빌드
같은 대상과 빌드 범위를 유지하고 시간 트리거 대신 이벤트 트리거를 선택합니다. 그래프에서 갱신을 감시할 데이터셋을 선택하면 그 이벤트가 발생한 뒤 스케줄을 실행할 수 있습니다.
새 트랜잭션을 기다리는 Data updated와 트랜잭션 없이 성공한 실행도 포함하는 Job succeeded는 다른 조건입니다. 무엇을 데이터 도착으로 판단할지에 맞춰 이벤트 유형을 선택합니다.
매일 09:00 또는 상위 데이터가 바뀔 때 실행
가상 데이터셋 Dataset D가 Parent A를 입력으로 사용한다고 가정합니다. 매일 09:00에도 실행하고 Parent A가 변경될 때도 실행하려면 시간 조건과 변경 이벤트를 OR로 결합합니다.
- 대상은
Dataset D입니다. - 시간 트리거는 매일 09:00이며, 아래 예시는 UTC를 사용합니다.
- 이벤트 트리거는
Parent A의 변경을 감시합니다. Any of these triggers를 선택하거나Advanced configuration에서 두 조건 사이에OR를 넣습니다.
두 표현은 이 구성에서 같은 의미입니다. 데이터 변경이 없더라도 시간 조건이 스케줄을 트리거하며, 09:00이 아니더라도 변경 이벤트가 스케줄을 트리거할 수 있습니다.
상위 데이터가 바뀐 경우에만 매일 09:00에 실행
Dataset D를 09:00에 갱신하되, Parent A가 변경된 경우에만 실행하려면 같은 두 조건을 AND로 결합합니다. All of these triggers를 선택하거나 고급 설정에서 AND를 사용합니다.
이 조건에는 Parent A가 언제 갱신되었어야 하는지 제한하는 시간 창이 없습니다. 당일 08:55의 갱신뿐 아니라 전날 09:10의 갱신도 다음 09:00까지 참 상태로 남아 실행 조건을 충족할 수 있습니다.
예를 들어 Parent A가 매일 09:10에만 갱신되면 Dataset D는 다음 날 09:00에 23시간 50분 전의 데이터를 사용하여 빌드할 수 있습니다. 당일 아침 데이터가 준비되어야 하는 업무라면 이 AND 조건만으로 그 요구를 충족한다고 판단하지 않습니다. 데이터 상태 검사의 신선도 기준과 실제 원천 도착 시각을 함께 설정해야 합니다.