freshness.json 파일
freshness.json 파일
freshness.json은 freshness가 설정된 모든 소스와 모델의 신선도(freshness) 결과를 담고 있어요. 각 항목의 resource_type 필드로 소스인지 모델인지 구분할 수 있어요.
출처: 문서
본문
- 현재 스키마: v0
- 생성 주체:
dbt freshness
이 파일은 freshness가 설정된 모든 소스와 모델의 신선도 결과를 포함해요. dbt는 매 dbt freshness 실행 후 target/freshness.json에 이를 기록해요.
각 항목에는 리소스가 소스인지 모델인지 식별하는 resource_type 필드가 있어요.
최상위 키(Top-level keys)
metadata: 실행 메타데이터로 다음 필드를 포함해요:dbt_schema_version: 이 아티팩트의 스키마 URL(항상https://schemas.getdbt.com/dbt/freshness/v0.json).dbt_version: 파일을 생성한 dbt 버전.generated_at: 파일이 기록된 타임스탬프.invocation_id: 이 실행의 고유 식별자.invocation_started_at: 실행이 시작된 타임스탬프. 사용 불가하면 생략돼요.env: 설정된DBT_ENV_CUSTOM_ENV_*환경 변수 맵.results: 신선도 결과의 배열.
results의 각 항목은 다음 키를 가진 사전(dictionary)이에요:
unique_id: 노드의 고유 식별자로, 결과를 manifest의nodes·sources에 연결해요.resource_type:model또는source.max_loaded_at: 조회 시점의 loaded-at 타임스탬프 최댓값.snapshotted_at: check가 실행된 타임스탬프.max_loaded_at_time_ago_in_s:max_loaded_at와snapshotted_at사이의 간격(초).status: 신선도 상태:Pass,Warn,Error. freshness 쿼리가 실패하면 dbt는 오류를 로그로 기록하지만, 실패 상태로 기록하는 대신 파일에서 해당 노드를 생략해요.criteria: 이 노드의 freshness 설정으로,warn_after,error_after,filter,loaded_at_field,loaded_at_query를 포함해요.thread_id: 이 check를 실행한 스레드 식별자.