데이터 파이프라인을 위한 DCM Projects
데이터 파이프라인을 위한 DCM Projects
DCM Projects는 데이터 파이프라인 관리에 맞춰진 기능을 포함한 전체 수명 주기 개발자 경험을 제공해요. 파이프라인 전용 명령은 모든 객체 유형에 적용되지는 않아요. 다음 파이프라인 사용 사례에 대해 핵심 명령을 확장해요.
- 관리되는 객체에 연결된 데이터 품질 기대치에 대한
TEST명령 - 동적 테이블, 뷰, 테이블에서 배포 전 샘플 출력을 확인하기 위한
PREVIEW명령
본문
데이터 품질 기대치를 위한 TEST 명령
이 명령은 모든 계정에서 사용할 수 있어요. 데이터 변환의 모든 단계에서 데이터 품질 기대치를 품질 게이트(quality gate)로 설정할 수 있어요.
- 브론즈(bronze) 레이어 랜딩 테이블의 원시 데이터에 기대치를 연결해 원시 입력이 기대치를 충족하고 변환 중 오류를 일으키지 않도록 해요.
- 실버(silver) 레이어에 기대치를 품질 게이트로 연결해 서로 다른 변환 단계에 체크포인트를 두어 데이터 문제를 더 쉽게 디버깅할 수 있게 해요.
- 골드(gold) 레이어에 기대치를 연결해 데이터 제품의 출력 품질을 보장해요.
- 데이터 제품의 하류 소비자의 기대치를 골드 레이어에 연결해 파괴적인 변경을 배포하기 전에 그 기대치를 검증할 수 있게 해요.
DCM 프로젝트에서 기대치를 연결하는 방법은 ATTACH DATA METRIC FUNCTION을 참고해요. DCM 프로젝트가 관리하는 테이블, 동적 테이블, 뷰에 연결된 모든 데이터 품질 기대치를 한 명령으로 테스트할 수 있어요. 기대치 없이 연결된 데이터 메트릭 함수는 검사되지 않아요.
태스크와 동적 테이블이 새 데이터 처리를 마친 뒤 TEST를 실행해요. TEST는 환경의 데이터 현재 상태를 평가하므로, 파이프라인이 새 변환 로직을 처리하기 전에 실행하면 최신 변경을 반영하지 않는 결과가 나올 수 있어요.
CI/CD 워크플로의 일부로 자동화된 테스트를 설정하는 데 CLI 명령을 사용할 수 있어요. 예를 들어 QA, 테스트, 또는 스테이징 환경에 프로덕션과 유사한 데이터가 있다면 다음 단계를 따라요.
- QA에 대해 PLAN을 실행해 기대하는 프로젝트 정의 변경을 검증해요.
- QA에 DEPLOY를 실행해요.
- 태스크와 동적 테이블이 새 데이터를 처리하게 해요.
- QA 환경의 테이블 객체에 연결된 모든 데이터 품질 기대치를
TEST ALL로 실행해 새로 배포된 로직이 기대대로 작동하고 데이터 출력의 기대한 형태에 부정적인 부작용이 없는지 검증해요. - QA에서 모든 기대치가 충족되면 프로덕션 환경으로 PLAN과 DEPLOY를 계속 진행해요.
TEST 명령을 실행하려면:
EXECUTE DCM PROJECT DCM_DEMO.PROJECTS.DCM_PROJECT_STG TEST ALL;
snow dcm test --target STAGE --save-output
TEST ALL 출력 형식(JSON 스키마와 예시 포함)은 EXECUTE DCM PROJECT 명령 레퍼런스의 TEST ALL 출력 섹션을 참고해요.
PREVIEW 명령
이 명령은 모든 계정에서 사용할 수 있어요. 동적 테이블이나 뷰의 SELECT 문을 작성하거나 변경할 때 샘플 출력이 데이터 형태를 검증하는 데 도움이 돼요. 여러 변환 단계가 있는 복잡한 계보(lineage) 그래프에서는 더 상류에서 변경할 때 하류 뷰나 동적 테이블의 출력을 확인할 수 있어요.
배포하기 전에 코드의 변환이 기대하는 데이터 출력을 내는지 검증하려면 PREVIEW 명령을 실행해요. PREVIEW 명령은 배포된 상태와 무관하게 현재 정의를 컴파일하기 위해 PLAN을 실행한 뒤, 지정된 동적 테이블, 뷰 또는 일반 테이블에 대한 데이터 샘플을 반환해요.
다음 요구 사항과 고려 사항을 기억해요.
- PREVIEW 명령은 항상 Jinja 변수 없이 테이블 객체의 정규화된 이름을 참조해야 해요.
- 출력에서 샘플 데이터를 보려면 소스 테이블에 데이터가 이미 준비되어 있어야 해요.
- PREVIEW는 참조된 동적 테이블과 뷰의 모든 SELECT 문을 쿼리하지만, 태스크나 CREATE TABLE AS SELECT 문은 실행하지 않아요.
PREVIEW 명령을 실행하려면:
EXECUTE DCM PROJECT DCM_DEMO.PROJECTS.DCM_PROJECT_DEV
PREVIEW
DCM_PROJECT_DEV.SERVE.V_DASHBOARD_KPI_SUMMARY
USING CONFIGURATION DEV
FROM 'snow://workspace/USER$.PUBLIC.DEFAULT$/versions/live/Quickstarts/DCM_Project_Quickstart_1'
LIMIT 100;
snow dcm preview --object DCM_PROJECT_DEV.SERVE.V_DASHBOARD_KPI_SUMMARY --limit 100