품질 검사와 수치 추적
잘못된 데이터가 보고서로 전달되는 경로를 차단합니다.
진도 0%
레슨
- 결측률·중복·범위 검사
JSON 행 목록의 결측률·중복 키·음수 통행량을 검사하고 오류 코드를 출력합니다.
- 품질 기준과 공개 차단
m08 적재 전에 품질 임계값을 검사하고 실패 배치와 마지막 정상 결과를 분리합니다.
- 수치 불일치 추적
기간·시간대·필터·조인·집계 단계별 건수를 SQL로 비교하여 보고서 차이의 원인을 찾습니다.
- 권한과 복구 안내
출력의 개인 정보 노출을 점검하고 실패 배치 복구·재실행·결과 정정 절차를 작성합니다.
품질 검사와 수치 추적 결과물 통합
m08-idempotent-load의 solution 전체를 이어받습니다. 기존 경로와 테스트를 보존하고 quality.run에 원본 보존·정제 전 품질 검사·증분 병합·마지막 정상 report.json 공개·시도별 계보를 추가합니다.
요구사항
- m08에 품질 게이트와 단계별 lineage.json을 추가합니다.
- 결측률 임계값은 표본과 분석 목적의 근거로 정하고 실패한 결과는 공개하지 않습니다.
- 기간·시간대·필터·조인·집계 추적과 정보 최소화 체크리스트를 공유합니다.
- 새 공개 명령은 python3 -m quality.run입니다. 기존 run.sh는 기존 증분 경로로 남습니다.
- 보고서는 커밋된 전체 DB의 통행량·강수량 모두 있는 행을 비교합니다. 입력 배치 결측 기준 0.2·0.4 초과 차단의 표본 근거와 scope를 적습니다.
- 성공 보고서에는 해당 시도의 lineage를 포함하고 lineage.json은 최신 시도, quality-audit.json은 시도 이력으로 구분합니다. DB와 파일 간 원자성·동시 실행·개정본 순서의 한계를 적습니다.
완료 기준
- 높은 결측률·중복 키·음수 값 fixture는 각각 지정 오류 코드로 실패합니다.
- 실패 배치 뒤에도 마지막 정상 보고서의 해시가 유지되고 정상 배치 재실행으로 회복됩니다.
- 전체 108개 검사 중 선택 HTTP 9개 skip, 나머지 통과. 새 품질 테스트 11개이며 starter는 중복·결측·해시 보존 흐름의 3개가 실패합니다.
- fixtures/quality-missing.csv, quality-duplicate.csv, quality-negative.csv는 TRAFFIC_MISSING, DUPLICATE_KEY, NEGATIVE_TRAFFIC으로 각각 차단됩니다.
- 초기 공개는 4행·합계 300, correction.csv 적용 공개는 합계 305입니다. 롤백과 커밋 후 공개 오류 후 재처리를 구분합니다.
python3 -m unittest discover -s tests -v미션 시작 코드
모범 답안
모범 답안 내려받기검토 기준
- 판단 근거와 제외 조건을 데이터와 연결해 설명합니다.
- 앞 단계 산출물을 재사용하고 원본을 보존합니다.