Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

실행 상태와 최신성 검사 구분

Data Health의 검사는 비슷한 이름이어도 관찰하는 실행 범위와 시각이 다릅니다. 알림을 만들기 전에 무엇의 성공과 최신성을 확인하려는지 정해야 합니다.

Job, build와 schedule

실행 작업(Job)은 변환 로직 한 번의 실행이며 출력 데이터셋 하나 또는 다중 출력 데이터셋들을 만듭니다. 스케줄은 지정한 대상 데이터셋과 관련 작업들을 반복 실행하는 구성이므로 함께 빌드하는 파이프라인 범위를 나타낼 수 있습니다.

Job status는 해당 데이터셋이 생성되거나 갱신되는 실제 작업을 검사합니다. 작업은 성공했지만 그 뒤의 다른 작업이 실패하면 해당 Job status는 성공할 수 있습니다. 상위 실패 때문에 대상 작업이 취소되어 실행되지 않으면 그 대상의 Job status는 평가되지 않을 수 있습니다.

Schedule status와 Schedule duration은 설정한 스케줄이 실행할 때 평가하며 중간 데이터셋을 포함한 스케줄 빌드를 관찰합니다. 일반적으로 모든 운영 스케줄에 Schedule status를 권장합니다. 이 검사가 있으면 같은 스케줄의 모든 데이터셋에 Job status를 반복 설치하지 않아도 작업 실패를 감지할 수 있습니다.

Build status는 최종 출력으로 지정한 데이터셋까지의 전체 빌드 결과를 봅니다. 중간 작업의 결과만 확인하려면 Job status와 구분해야 합니다. 각 필드와 지원 범위는 검사 참조에서 설명합니다.

최신성의 세 기준

검사계산 기준평가 의미
Time since last updated현재 시각에서 검사 대상인 마지막 커밋 시각을 뺀 시간데이터셋이 얼마나 오래 갱신되지 않았는지 봅니다. 빈 트랜잭션의 포함 여부는 Ignore empty transactions 설정으로 정합니다.
Data freshness마지막 커밋 시각과 timestamp 열의 최댓값 차이데이터셋에 담긴 내용이 원천 시각에 비해 얼마나 늦게 도착했는지 봅니다. 트랜잭션 커밋 시 평가합니다.
Sync freshness마지막 동기화 시각과 datetime 열의 최댓값 차이목적지에 동기화한 내용의 최신성을 봅니다.

Data freshness와 Sync freshness에는 가능하면 행이 원천 시스템에 추가된 시각을 나타내는 열을 사용합니다. 데이터셋을 방금 다시 빌드해도 오래된 원천 행만 담겨 있다면 갱신 시각과 내용 최신성은 다른 결과를 보일 수 있습니다.

검사 실패로 빌드를 중단하려면

대부분의 기본 상태 검사는 작업이 끝나야 값을 계산할 수 있습니다. 빌드 중에 조건을 검사하고 잘못된 출력을 중단하려면 Code Repositories에서 Data Expectations를 정의합니다. 이 검사도 Data Health에서 감시할 수 있습니다.