[TIL - 4주차] 데브코스 최종 프로젝트

2024. 8. 5. 12:56·[프로그래머스] 데이터 엔지니어링 데브코스 3기/TIL(Today I Learn)

TIL (2024-08-05 ~ 2024-08-09)

2024-08-05 (월)

오늘 한 일

  • EC2에 Metabase 구축
    • Ubuntu에 Docker 설치 (참고 링크, 공식 문서)
    • Docker에 Metabse 구축 (참고 링크)
    • Metabase 웹 접속을 위한 인바운드 그룹에 3000 포트 추가 (참고 링크)
  • 미인증 중개소의 매물 개수 테이블 생성 및 시각화
    • 미인증 중개소의 매물 개수를 나타내는 테이블 생성
    • 생성한 테이블을 바탕으로 시각화 진행
    • 작성했던 create_transformed_and_analytics_table DAG에 해당 테이블 쿼리 추가 및 테스트 완료

미인증 중개소 매물 개수 시각화

  • AI Model 학습을 위한 테이블 쿼리 작성
    • 컬럼 : 매물 ID, 층 수, 면적, 편의시설 종류 개수, 보증금, 월세, 관리비, 지역구, 판매 여부
    • 컬럼은 변경될 수 있으나 회의를 통해 1차적으로 결정
    • 아직 transformed.sold (판매 여부 컬럼이 포함)가 생성되지 않아, 이후에 테스트 가능

내일 할 일

  • AI Model 학습을 위한 테이블 구체화
    • 회의를 통해 학습을 위한 컬럼 조정
    • 결정된 컬럼이 포함된 테이블 생성 쿼리 작성
  • 추가할 테이블 생각 및 쿼리, DAG 작성, 시각화

2024-08-06 (화)

오늘 한 일

  • transformed.property_sold_status 테이블 생성
    • 판매 여부 컬럼이 포함된 transformed.model_data 테이블을 생성하기 위한위한 테이블
    • 컬럼 : 매물 ID, 층 수, 면적, 보증금, 월세, 관리비, 주소, 각 편의시설 개수(총 6개의 컬럼)
  • transformed.model_data 테이블 생성 쿼리 작성 완료
    • 컬럼 : 매물 ID, 층 수, 면적, 보증금, 월세, 관리비, 지역구, 편의시설 종류 개수, 판매 여부
    • 층 수는 저, 중, 고, 반지하, 옥탑으로 구분하며, 지역구는 서울만 필터링
  • 추가로 생성된 테이블의 ERD 작성
    • raw_data 이후 생성된 스키마 (transformed, analytics)의 테이블을 ERD로 표현
    • 판매 여부 확인을 위해 raw_data.zigbang 테이블에 update_at 컬럼 추가
  • load_merge_table_table_to_redshift_and_rds DAG 수정
    • 다방, 직방 데이터 처리 시간은 약 2 ~ 3시간 정도 소요
    • 데이터 처리 이후 실행되도록 schedule_interval을 UTC 기준 매일 4시에서 매일 6시로 변경
  • create_transformed_and_analytics_table DAG 수정
    • 각 테이블의 집계(count) 함수에 CAST를 적용하여 데이터 타입을 integer로 적용
    • property_having_all_facility 테이블의 용도에 맞게 이름을 ~_count로 수정
    • 테이블 형태의 변경에 따른 Metabase 수정 완료

내일 할 일

  • Redshift 데이터 리니지 작성
    • 프로젝트의 최종 목표는 서비스 구현
    • 분석 프로젝트는 아니기에 데이터 디스커버리는 사용하지 않는 방향으로 진행
    • 테이블 수가 많지 않기에 데이터 리니지를 수작업으로 작성

2024-08-07 (수)

오늘 한 일

  • Redshift -> RDS 적재 시 room_id에 title이 적재되는 에러 수정
    • title에 줄바꿈(\n)이 포함되어 있는 경우가 있음
    • RDS LOAD 시 하나의 line을 줄바꿈으로 구분하기 때문에 에러 발생
    • REPLACE를 활용해 RDS LOAD 전 줄바꿈을 '. '으로 변경 (참고 링크)
  • 머신러닝을 활용한 예측을 위해 RDS 테이블에 status 컬럼 추가
    • ALTER TABLE / ADD COLUMN을 활용해 LOAD된 테이블에 status 컬럼 추가
  • 현재 생성한 테이블의 데이터 리니지 작성

데이터 리니지

  • 프로젝트 보고서 목차 작성
    • 프로젝트 개요 : 주제, 목표, 역할 분담, 활용 기술 및 프레임워크
    • 프로젝트 내용 : 인프라 아키텍처, 데이터 수집 및 활용, 머신러닝, 웹서비스
    • 마무리 : 결론, 기대효과, 회고

내일 할 일

  • 나의 작업은 모두 끝났기에 도움이 필요한 팀원의 작업 지원

2024-08-08 (목)

오늘 한 일

  • 마일스톤 작성을 위한 google sheet 제작

마일스톤

  • 최종 결과 보고서 작성
    • 프로젝트 개요 작성 : 개요의 틀을 마련하고, 알고 있는 선에서 모두 작성
    • 개인 작업 내용 작성 : ERD & 데이터 리니지, 데이터 병합, ELT 및 대시보드 제작 (검토 필요)
  • load_merge_table_table_to_redshift_and_rds DAG 수정
    • status 컬럼 추가를 위해 ALTER TABLE을 활용했지만, 다시 실행하니 중복 컬럼 에러 발생
    • 이를 해결하기 위해 ALTER TABLE ~ DROP COLUMN을 활용
    • status 컬럼 삭제 후 LOAD, LOAD 후 status 컬럼을 다시 생성하도록 변경

내일 할 일

  • 개인 일정으로 프로젝트 참여 불가

이번 주에 진행한 일, 다음 주에 진행할 일

이번 주에 진행한 일

  • 웹 서버 EC2 내 Docker 및 Metabase 구축
  • 미인증 중개소의 매물 개수 테이블 생성 및 시각화
  • AI 학습 테이블 생성 완료
  • transformed.property_sold_status 테이블 생성
    • 판매 여부 컬럼이 포함된 transformed.model_data 테이블을 생성하기 위한위한 테이블
    • 컬럼 : 매물 ID, 층 수, 면적, 보증금, 월세, 관리비, 주소, 각 편의시설 개수(총 6개의 컬럼)
  • transformed.model_data 테이블 생성
    • 컬럼 : 매물 ID, 층 수, 면적, 보증금, 월세, 관리비, 지역구, 편의시설 종류 개수, 판매 여부
    • 층 수는 저, 중, 고, 반지하, 옥탑으로 구분하며, 지역구는 서울만 필터링
  • 프로젝트 마무리
    • 생성한 테이블을 바탕으로 Redshift 데이터 리니지 제작
    • 구글 시트를 활용해 마일스톤 제작
    • 프로젝트 최종 보고서 목차 작성

다음 주에 진행할 일

  • 프로젝트 마무리 및 발표 준비
    • 마일스톤 작성
    • 프로젝트 최종 보고서 내용 작성
    • PPT 제작

'[프로그래머스] 데이터 엔지니어링 데브코스 3기 > TIL(Today I Learn)' 카테고리의 다른 글

[TIL - 5주차] 데브코스 최종 프로젝트  (0) 2024.08.16
[TIL - 3주차] 데브코스 최종 프로젝트  (0) 2024.07.26
[TIL - 2주차] 데브코스 최종 프로젝트  (0) 2024.07.21
[TIL - 1주차] 데브코스 최종 프로젝트  (0) 2024.07.13
[TIL - 80일 차] Spark, SparkML 실습 (5)  (0) 2024.07.12
'[프로그래머스] 데이터 엔지니어링 데브코스 3기/TIL(Today I Learn)' 카테고리의 다른 글
  • [TIL - 5주차] 데브코스 최종 프로젝트
  • [TIL - 3주차] 데브코스 최종 프로젝트
  • [TIL - 2주차] 데브코스 최종 프로젝트
  • [TIL - 1주차] 데브코스 최종 프로젝트
기억에 남는 블로그 닉네임
기억에 남는 블로그 닉네임
  • 기억에 남는 블로그 닉네임
    얕게, 깊게
    기억에 남는 블로그 닉네임
  • 전체
    오늘
    어제
  • 블로그 메뉴

    • 홈
    • 방명록
    • 글쓰기
    • 분류 전체보기
      • Data Engineering
        • Airflow
        • 빅데이터
        • 자동화
        • 기타
      • Infra
        • AWS
        • Terraform
        • [인프라 구축기] Terraform 활용 AWS ..
      • CS
        • 자료구조
        • 알고리즘
        • 네트워크
        • 데이터베이스
        • 이것이 취업을 위한 코딩 테스트다 with 파이썬
      • Python
      • Web
      • Git
      • 기타
        • 취업 & 진로
        • 회고록
        • 기타
      • 프로젝트 단위 공부
        • [부스트코스] DataLit : 데이터 다루기
        • [개인 프로젝트] 공모전 크롤링
        • [개인 프로젝트] FC Online 공식 경기 분..
        • 프로젝트 개선 방안
      • [프로그래머스] 데이터 엔지니어링 데브코스 3기
        • TIL(Today I Learn)
        • 숙제
        • 기타
      • 알고리즘 연습
        • 프로그래머스
        • 백준
  • 링크

    • 깃허브
    • 링크드인
  • 인기 글

  • 최근 글

  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.3
기억에 남는 블로그 닉네임
[TIL - 4주차] 데브코스 최종 프로젝트
상단으로

티스토리툴바