manifest.json 파일
manifest.json 파일
manifest.json은 dbt 프로젝트 리소스(모델·테스트·매크로 등)의 전체 표현을 담고 있어요. 프로젝트를 파싱하는 모든 명령어가 이 파일을 생성하며, 문서 사이트 채우기와 상태 비교(state comparison)에 사용돼요.
출처: 문서
본문
| dbt version | Manifest version |
|---|---|
| dbt v2.0 | v12 |
| dbt v1.11 | v12 |
| dbt v1.10 | v12 |
| dbt v1.9 | v12 |
| dbt v1.8 | v12 |
| dbt v1.7 | v11 |
| dbt v1.6 | v10 |
| dbt v1.5 | v9 |
| dbt v1.4 | v8 |
| dbt v1.3 | v7 |
생성 주체: 프로젝트를 파싱하는 모든 dbt 명령어. 여기에는 deps, clean, debug, init을 제외한 모든 명령어가 포함돼요.
dbt 명령어를 실행한 후 manifest.json 파일은 프로젝트의 target/ 디렉터리에서 찾을 수 있어요:
- 로컬 개발: 프로젝트 폴더에서
target/디렉터리를 여세요 - Studio IDE: 파일 트리에서
target/디렉터리를 여세요 - dbt platform 작업: 특정 작업 실행의 artifacts 탭에서
manifest.json을 다운로드하세요
이 파일은 dbt 프로젝트 리소스(모델·테스트·매크로 등)의 전체 표현을 담고 있어요. 모든 노드 설정과 리소스 속성을 포함해요. 일부 모델이나 테스트만 실행하더라도, 모든 리소스가 (비활성화되지 않는 한) 대부분의 속성과 함께 manifest에 나타나요. compiled_sql 같은 일부 속성은 실행된 노드에만 포함돼요.
현재 dbt는 이 파일로 문서 사이트를 채우고, 상태 비교(state comparison)를 수행해요. 커뮤니티 회원들은 누락된 설명(description)이나 테스트가 있는지 확인하는 식으로 프로젝트 건강 상태를 분석하는 데도 사용해요.
최상위 키(Top-level keys)
metadatanodes: 모든 분석(analysis)·모델·시드·스냅샷·테스트의 사전(dictionary).sources: 소스의 사전metrics: 메트릭의 사전exposures: 노출(exposure)의 사전groups: 그룹의 사전 (참고: v1.5에서 추가)macros: 매크로의 사전docs:docs블록의 사전parent_map: 각 리소스의 1차 부모(parent)를 담은 사전child_map: 각 리소스의 1차 자식(child)을 담은 사전group_map: 그룹 이름을 해당 리소스 노드에 연결하는 사전selectors: YAMLselectors의 확장된 사전 표현disabled:enabled: false인 리소스의 배열
리소스 상세
nodes, sources, metrics, exposures, macros, docs 안에 중첩된 모든 리소스는 다음 기본 속성을 가져요:
name: 리소스 이름unique_id:<resource_type>.<package>.<resource_name>, 사전 키와 동일package_name: 이 리소스를 정의한 패키지의 이름root_path: 이 리소스 패키지의 절대 파일 경로. (참고: 노드 간 중복 정보를 줄이기 위해 dbt v1.4 / manifest v8에서 대부분의 노드 유형에서 제거됐지만, 시드에는 여전히 존재해요.)path: "리소스 경로"(model-paths,seed-paths등) 내 이 리소스 정의의 상대 파일 경로.original_file_path: 이 리소스 정의의 상대 파일 경로로, 리소스 경로를 포함해요.
각 리소스는 리소스 유형과 관련된 추가 속성들을 더 가져요.
dbt JSON 스키마
dbt가 생성한 아티팩트를 설명·소비하는 방법은 dbt JSON 스키마를 참고할 수 있어요.
참고: manifest.json 버전 번호는 dbt 버전과 관련되지만(같지는 않아요) dbt 버전과 일치해야 해요. 올바른 manifest.json 버전을 찾으려면 상단 내비게이션에서 dbt 버전(예: v1.5)을 선택하세요.
이 페이지 시작 부분의 표를 참고해 manifest 버전이 dbt 버전과 어떻게 맞는지 확인하세요.