안녕하세요. 이번 게시글에는 '데이터 엔지니어링'의 큰 단계 중 2번째 단계인 'Phase 2'의 입문에 대해서 글을 써보고자 합니다.
제가 현재 작성하는 이번 게시글 앞에 작성한 게시글들은 전부 'phase 1' 단계였는데요.
'Phase 1'에서는, '데이터베이스 학과 프로젝트 리뷰', 'SQL 문제 풀이', '인덱스 성능 실험', 'Pandas 체험 및 ETL 파이프라인 경험' 등 본격적으로 데이터 엔지니어링에 들어가기에 앞서 갖춰야 할 기본 개념들 및 지식들을 다뤄봤습니다.
이번 Phase 2는 어떻게 보면, 제 커리큘럼에서 가장 중요한 '데이터 파이프라인 구축'이라는, 실무와 가장 중요하게 연관된 부분이라고 할 수 있습니다.
다음은 Phase 2의 전체 커리큘럼 과정입니다.



총 2-1부터 2-6까지 소그룹으로 나누면 6개의 단계가 있습니다.
2-1. 관심 분야 선택
2-2. 데이터 수집(extraction)
2-3. 데이터 전처리(transform)
2-4. 데이터 저장(loading)
2-5. Apache Airflow 도입
2-6. 로깅 및 모니터링
2-2부터 2-4단계는 우리가 Phase 1에서 마지막 부분에 했던 ETL Pipeline을 재학습하는 단계라고 볼 수 있습니다.
2-6의 로깅 및 모니터링 또한, Phase 1에서 막바지에 했던 것들이고요.(모니터링은 안해봤지만요.. ㅎㅎ)
다만, 2-5의 'Apache Airflow'는 처음 보는 것이니, 이 부분이 공부가 좀 많이 필요할 거 같다는 생각이 드네요.
오늘 이번 게시글에서는 'phase 2-1'인 프로젝트 주제를 선정하는 시간을 가지고, 이 주제에 대한 데이터를 모아보는 파이썬 테스트 파일을 만드는 시간을 가지고자 합니다.
평소에 관심 있는 주제를 선정하라는 'Claude'의 말에 저는 2개의 주제를 골라보았는데요.
1.주식/금융
2.스포츠(축구)
이 2개의 주제에 대한 데이터를 API를 통해 fetch해보는 테스트 코드를 각각 1개씩 작성해보았습니다.
제 깃허브입니다.
해당 코드는 위 코드에 들어가시면 자세한 주석과 함께 상세히 살펴보실 수 있습니다.
제 깃허브에 올라온 삼성전자 주식의 최근 10개의 데이터를 csv로 저장한 파일입니다.


->위는 Yahoo(야후) Financial에서 제공하는 삼성전자의 데이터인데요.
오늘 날짜인 24일의 거래량을 제외하고는(제가 거래시간 중간에 데이터를 fetch해서 이 부분만 다릅니다.) 나머지 일자의 데이터들은 전부 다 일치함을 볼 수 있습니다.
이 역시 제 깃허브에 올라온 축구 관련 파이썬 테스트 코드입니다.
->위 2개의 링크는 각각의 데이터를 csv로 변환한 파일 2개를 나타냅니다.



이 또한 실제 검증을 통해, 데이터가 전부 일치함을 알 수 있습니다.
경기 일정의 경우, 영국과 대한민국의 시차 차이를 적용하면, 데이터가 일치함을 알 수 있습니다.
이렇게 해서 이번 게시글에는 외부에서 제공하는 API(무료)를 통해 이를 파이썬으로 불러오고 csv로 저장해보는 시간을 가져보았습니다.

이 과정은 누군가에게는 매우 기초적이고 쉬운 작업일 수 있으나, 저는 개인적으로 이런 연습을 통해 데이터를 가져오는(fetch) 감각을 길러야 실전/실무에서도 실수를 할 확률을 낮추고, 실수를 하더라도 대처를 잘해볼 수 있는 연습이 될 거라 생각합니다.
이 때문에 이번 게시글을 올리는 이유이기도 합니다.
앞으로 'Phase 2'에 관련한 게시글들을 올릴 예정입니다.
오늘도 제 게시글을 봐주셔서 감사합니다 :) bb
다음에 새로운 게시글로 찾아뵙도록 하겠습니다.