본문 바로가기
프로젝트 develop

[develop]develop plan

by BIGENGINEER 2026. 7. 2.

 

데이터 엔지니어가 되기 위해 기존에 수행했던 프로젝트를 develop 해보려고 한다.

 

<이번주 핵심 목표>

1. 기존 DB 테이블을 ERD로 정리

2. python 수집 코드를 매일 실행 가능한 배치 파이프라인 구조로 리팩토링

3. Airflow 기본 개념 공부, 기존 수집 코드 1개를 DAG로 생성

 

 


기존 DB 테이블을 ERD로 정리

- 이 과정에서는 단순히 ERD로 정리하는 것이 아니라 정리를 하면서 collection_logs와 같이 배치 수집 작업의 실행 이력을 관리하는 테이블을 추가해서 관리하는 것이 중요함

 

 

 

 

Python 수집 코드 리팩토링

- 기존의 api 호출 > 데이터 가공 > DB저장 > print 확인 흐름에서 

- 주식 데이터를 매일 자동으로 수집해서 DB에 저장하는 데이터 파이프라인 구조로 리팩토링

외부 API
  ↓
collector : 외부에서 데이터를 가져오는 역할 = Extract
  ↓
transformer : 가져온 데이터를 DB에 넣기 좋은 형태로 바꿈 = Transform
  ↓
loader : 가공된 데이터를 DB에 저장하는 역할 = Load
  ↓
database : DB 연결 관리하는 파일 
  ↓
Airflow가 매일 실행

 

- loader에서 종목id + 거래일 기준으로 중복 저장 막는 로직 추가 권장

- 실행 흐름 : 

  main.py 실행 -> DB 연결 생성 -> collector로 데이터 수집 -> transformer로 데이터 정제 -> loader로 db 저장

 

 

 

Airflow 기본 개념 공부, 기존 수집 코드 1개를 DAG로 생성

- Airflow는 수집 코드를 정해진 시간에 실행하고 감시하는 도구이므로 DAG로 생성한 수집 코드를 실행하고 감시함

- DAG 파일은 언제 실행할지/실패하면 몇 번 재시도할지/어떤 PYTHON 함수 실행할지/ Airflow UI에서 실행상태 보여줌 

- DAG는 뒤에서 더 깊에 다뤄보겠다. 

 

 

데이터엔지니어링에 대한 기본 지식은 전무하지만 해보자 화이팅

'프로젝트 develop' 카테고리의 다른 글

비동기 처리 구조와 @Async  (0) 2026.07.19
동기 vs 비동기  (0) 2026.07.13
Presigned URL  (0) 2026.07.13