TIL (2024-08-05 ~ 2024-08-09)
2024-08-05 (월)
오늘 한 일
- EC2에 Metabase 구축
- 미인증 중개소의 매물 개수 테이블 생성 및 시각화
- 미인증 중개소의 매물 개수를 나타내는 테이블 생성
- 생성한 테이블을 바탕으로 시각화 진행
- 작성했던 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 |