30

BaseExtractor: 공통 인터페이스 설계

Day 2: 데이터 수집 파이프라인

학습 목표

추상 클래스(ABC)의 역할을 이해한다 공통 인터페이스를 설계할 수 있다

미션: BaseExtractor 구현

모든 Extractor가 상속받을 추상 클래스를 만드세요.

요구사항

  1. 추상 메서드

    • extract(): 데이터 추출 (자식 클래스에서 구현)
    • validate(): 데이터 검증 (자식 클래스에서 구현)
  2. 공통 메서드

    • save_to_bronze(): DataFrame을 Parquet으로 저장
    • run(): extract → validate → save 파이프라인
  3. 로깅

    • 각 단계에서 로그 출력
    • 에러 발생 시 상세 정보 로깅
에디터 로딩 중...
힌트 보기
  • @abstractmethod 데코레이터는 자식 클래스에서 반드시 구현해야 함을 표시한다
  • Path.mkdir(parents=True, exist_ok=True)는 중간 폴더도 생성한다
  • 메타데이터 컬럼(_extracted_at, _source)은 디버깅에 유용하다
  • 로깅은 운영 환경에서 문제를 추적하는 핵심 도구다
정답 보기
에디터 로딩 중...