00 환경 설정
사전 작업 모듈에 대한 진행자 가이드 — Python 버전 고정, 두 개의 클라우드 가입, 그리고 이 작업을 세션 시작 전에 끝내야 하는 이유.
학습자 레슨 00 Setup에 대응하는 진행자용 안내입니다.
타이밍
총 약 30분. 이것은 사전 작업이며 당일 콘텐츠가 아닙니다 — 세션 전에 파트너들에게 미리 배포하고, 세션 당일 아침이 아니라 하루 전에 완료 여부를 확인하세요. "실행해두고 자리를 비운다"는 의미로 자동 진행되는 부분은 하나도 없습니다. 도구 다섯 개 설치, 계정 두 개 가입, 클론 한 번, virtualenv 두 개 구축이며 모두 파트너가 계속 키보드에 손을 두고 있어야 합니다. 이 작업을 건너뛴 채 나타난 파트너는 라이브로 복구하는 데 세션 시간 약 30분을 쓰게 되고, 그 시간은 원래 모듈 01이 다루기로 했던 내용의 몫입니다.
강의 흐름
- 이 모듈은 콘텐츠가 아니라 배관 작업이라고 규정하세요. 두 개의 클라우드(소스인 Snowflake와 타깃인 ClickHouse Cloud), 클라우드별 dbt 어댑터 하나씩, 그리고 두 어댑터가 공유하는 엄격한 Python 하한선입니다.
- 두 번 이상 소리 내어 말할 만한 사실 하나:
dbt-snowflake와dbt-clickhouse는 모두 Python 3.11, 3.12, 또는 3.13을 요구합니다. Python 3.14+는 두 어댑터가 공유하는 전이 의존성mashumaro를 깨뜨립니다. - 두 개의 별도 virtualenv —
workshop_public/snowflake_migration_lab/01-setup-snowflake/.venv와workshop_public/snowflake_migration_lab/03-migrate-to-clickhouse/.venv— 를 짚어주고, 하나로 합칠 수 없는 이유를 설명하세요. 두 어댑터가 서로 충돌하는 의존성 범위를 고정합니다. - 당일이 아니라 지금 두 클라우드 모두 가입하도록 권하세요. 모듈 01이 시작된 뒤에는 Snowflake 트라이얼도 ClickHouse Cloud 트라이얼도 걸림돌이 되어서는 안 됩니다.
흔한 실패 사례
- Python 3.14+가
mashumaro를 통해dbt-snowflake와dbt-clickhouse를 깨뜨립니다. 이것이 이 모듈의 대표적인 실패이자 가장 위험한 실패입니다. 인터프리터를 잘못 고정해도 여기서는 실패하지 않고, 두 모듈 뒤에 Python 버전과는 아무 관련 없어 보이는 혼란스러운 dbt import 오류로 나타나기 때문입니다. 파트너에게 이 모듈 완료 승인을 주기 전에, 시스템 기본값이 아니라 각 virtualenv 뒤에 실제로 있는 인터프리터 —workshop_public/snowflake_migration_lab/01-setup-snowflake/.venv와workshop_public/snowflake_migration_lab/03-migrate-to-clickhouse/.venv— 에 대해python3 --version이 3.11, 3.12, 또는 3.13을 보고하는지 확인하세요. - TODO: 이 모듈의 다른 실패 유형은 랩 자체 README에 문서화되어 있지 않습니다. 리허설에서
관찰한 내용을 여기에 기록하세요(회사 프록시나 방화벽이
pip install또는terraform init을 차단, 첫 실행 시 Docker Desktop 라이선스 프롬프트, 트라이얼 가입 승인 지연 등).
초기화 절차
- venv 뒤의 Python 버전이 잘못된 경우: 잘못된 쪽 모듈의 virtualenv —
workshop_public/snowflake_migration_lab/01-setup-snowflake/또는workshop_public/snowflake_migration_lab/03-migrate-to-clickhouse/— 로cd한 다음, 고정된 인터프리터로 삭제 후 재구축하세요. 예를 들어rm -rf .venv && python3.13 -m venv .venv && source .venv/bin/activate를 실행하고, 학습자 페이지의 Step 4에 나온 대로 해당 venv의 어댑터를 다시 설치합니다. - 이 모듈에는 해당되는 teardown 스크립트가 없습니다 — 아직 어느 클라우드에도 프로비저닝된 것이 없습니다. 파트너가 어떤 단계를 다시 해야 한다면, 무언가를 초기화하기보다 그 단계를 그냥 다시 실행하는 편이 저렴합니다.
- TODO: Wi-Fi가 불안정한 강의실에서는 당일에 도구 다섯 개와 venv 두 개를 실시간으로 설치하는 대신 미리 만들어 둔 venv를 사전 배포하는 것이 나은지 리허설에서 확인하세요.