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)

  • metadata
  • nodes: 모든 분석(analysis)·모델·시드·스냅샷·테스트의 사전(dictionary).
  • sources: 소스의 사전
  • metrics: 메트릭의 사전
  • exposures: 노출(exposure)의 사전
  • groups: 그룹의 사전 (참고: v1.5에서 추가)
  • macros: 매크로의 사전
  • docs: docs 블록의 사전
  • parent_map: 각 리소스의 1차 부모(parent)를 담은 사전
  • child_map: 각 리소스의 1차 자식(child)을 담은 사전
  • group_map: 그룹 이름을 해당 리소스 노드에 연결하는 사전
  • selectors: YAML selectors의 확장된 사전 표현
  • 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 버전과 어떻게 맞는지 확인하세요.

더 알아보기 (Learn more)