🏆45

도전: 데이터 품질 체크 UDF 라이브러리

Day 4: Python 함수를 Spark에서 쓰고 싶은데

학습 목표

재사용 가능한 UDF 라이브러리를 설계할 수 있다 다양한 데이터 검증 로직을 구현할 수 있다

요구사항

5개 이상 검증 UDF 구현

None 처리 완료

테스트 데이터로 동작 확인

Pandas UDF 버전 1개 이상

성능 비교 결과 포함

평가 기준
  • UDF 구현 완성도 (30%)
  • None/예외 처리 (20%)
  • 성능 비교 분석 (20%)
  • 코드 품질/문서화 (15%)
  • 선택 UDF 구현 (15%)

미션: 데이터 품질 체크 라이브러리 만들기

데이터 엔지니어가 자주 사용하는 검증 UDF를 모은 라이브러리를 만드세요.

필수 구현 UDF

  1. is_valid_email - 이메일 형식 검증
  2. is_valid_phone_kr - 한국 전화번호 검증
  3. is_valid_date - 날짜 형식 검증 (YYYY-MM-DD)
  4. is_in_range - 숫자 범위 검증
  5. has_korean - 한글 포함 여부

선택 구현 UDF

  1. is_valid_business_number - 사업자번호 검증 (체크섬)
  2. clean_text - 특수문자 제거, 공백 정리

요구사항

  • Python UDF와 Pandas UDF 두 버전 제공
  • 성능 비교 테스트 포함
  • 문서화 (docstring)
힌트 보기
이메일: r"^[\w.-]+@[\w.-]+\.\w+$"
전화번호: r"^0\d{1,2}-\d{3,4}-\d{4}$"
날짜: datetime.strptime()으로 파싱 시도
한글: r"[가-힣]"
고차 함수로 파라미터 받는 UDF 생성