dbt 프로젝트 객체와 파일의 live 버전
dbt 프로젝트 객체와 파일의 live 버전
dbt 프로젝트 객체는 live라는 이름의 가변(mutable) 버전을 하나 가져요. 객체를 생성하면 live 버전이 만들어지고, 이후의 각 배포는 같은 live 버전을 교체해요.
📌 이 페이지에서 설명하는 일부 기능은 가변
live버전을 사용하는 dbt 프로젝트 객체가 필요해요. live 버전 객체를 얻으려면 2026_06 동작 변경 번들에 옵트인하거나, Snowflake 계정 담당자에게 별도의 단일 live 버전 기능을 활성화하도록 요청하세요. 그런 다음 객체를 생성하거나 교체하고, 기존 버전 객체는SYSTEM$MIGRATE_DBT_PROJECT로 마이그레이션하세요. 자세한 내용은 dbt 프로젝트 객체의 단일 가변 live 버전으로의 마이그레이션 문서를 참조하세요.
📌 live 객체 버전은 실행에 사용되는 dbt 런타임 버전과는 별개예요. dbt Core 및 dbt Fusion 런타임 버전에 대한 정보는 dbt Projects on Snowflake 지원 dbt 버전 문서를 참조하세요.
Snowflake는 live 버전을 dbt 프로젝트 스테이지의 다음 형태 경로에 저장해요.
snow://dbt/<database>.<schema>.<project>/versions/live
예를 들어 다음 경로는 my_dbt_project_object라는 프로젝트의 dbt_project.yml 파일을 참조해요.
snow://dbt/my_db.my_schema.my_dbt_project_object/versions/live/dbt_project.yml
live 식별자는 항상 객체의 현재 내용을 가리켜요.
live 버전 생성 또는 업데이트
다음 작업이 live 버전을 생성하거나 업데이트해요:
CREATE DBT PROJECT: 새 객체와 그live버전을 생성해요.ALTER DBT PROJECT ... DEPLOY: 기존live버전의 내용을 교체해요.snow dbt deploy: 객체가 없으면 생성하고, 있으면live버전을 업데이트해요.
⚠️ 의도적으로 dbt 프로젝트 객체를 다시 만들려는 게 아니라면
--force를 사용하지 마세요.snow dbt deploy의--force는CREATE OR REPLACE DBT PROJECT를 실행하며, 이는 실행 기록을 제거할 수 있어요.
배포는 기존 target 및 log 아티팩트를 포함해 전체 live 버전을 단일 작업으로 교체해요. 실행은 완전히 이전 배포 또는 완전히 새로운 배포 중 하나를 보게 되며, 부분적으로 업데이트된 프로젝트를 볼 수는 없어요.
배포 절차는 dbt 프로젝트 객체 배포 문서를 참조하세요.
Writeback은 실행이 생성한 target 및 log 아티팩트를 live 버전에 기록할지 여부를 제어해요. 실행은 별도로 WRITEBACK으로 재정의하지 않는 한 객체의 DEFAULT_WRITEBACK 설정을 사용해요. Snowflake는 writeback 설정과 관계없이 객체의 results 디렉터리 아래에 쿼리별 결과 아티팩트와 그 아카이브를 별도로 저장해요.
live 버전으로 파일 복사하기
COPY FILES 또는 snow dbt copy를 사용해 내부 스테이지와 live 버전 사이에서 파일을 복사할 수 있어요:
COPY FILES
INTO 'snow://dbt/my_db.my_schema.my_dbt_project/versions/live/state_backup/'
FROM @my_db.my_schema.my_stage/state/;
COPY FILES
INTO @my_db.my_schema.my_stage/project_backup/
FROM 'snow://dbt/my_db.my_schema.my_dbt_project/versions/live/';
versions/live 경로와 함께 GET 및 PUT을 사용해 파일을 다운로드하거나 업로드할 수도 있어요.
이 작업들은 live 파일을 영구적으로 수정하거나 복사해요. 반면 EXECUTE DBT PROJECT의 IMPORTS 절과 Snowflake CLI의 --import 옵션은 한 번의 실행 동안 ./imports 아래에 읽기 전용 파일을 마운트해요.