상세 컨텐츠

본문 제목

데이터 엔지니어링 스타터 키트 - 1주차

Data Platform/데이터 엔지니어링

by leediz 2022. 4. 19. 23:25

본문

프로그래머스 데이터 엔지니어링 스타터 키트 과정을 시작하며

프로그래머스의 실리콘밸리에서 날아온 데이터 엔지니어 스타터 키트 과정을 눈여겨만 보다 이번 8기에 드디어 수강을 하게 되었다. 이번에는 단순히 수강하는 것에 그치지 않고 강의 내용을 좀 더 내것으로 만들겸 기록을 남길겸 해서 블로그에 포스팅하기도 새로운 목표를 잡고 시작해보려 한다.

 

데이터 엔지니어링 키트 과정 소개

  • 1주차 : 데이터팀의 역할과 데이터 엔지니어링 소개
  • 2주차
    • 데이터 엔지니어의 일주일 같이 보기
    • AWS 간단소개
    • Redshift 소개 (ETL과 ELT) - 우리가 사용할 Data warehouse
  • 3주차 : SQL for Data Engineers - 데이터를 다루는 사람들의 기본! / 백엔드 엔지니어들이 쓰는 SQL과는 다른 점에 대한 설명
  • 4주차 : ETL/Airflow 소개
  • 5주차 : Airflow Deepdive
  • 6주차 : Airflow Deepdive 2
  • 7주차 : Productionizing Airflow
  • 부록 : Superset과 고급 Airflow 기능과 Redshift 설치 방법

6주차부터 원하는 사람에 한해 30분씩 면담하는 시간도 갖는다고 한다! (기대기대)

 

데이터 조직의 구성원

데이터 사이언티스트

  • 데이터를 기반으로 패턴을 찾는 ML model을 만들어서 사용자의 사용 경험을 개선
  • Skill Sets
    • Machine Learning에 대한 깊은 이해도와 경험
    • Python / Spark (coding)
    • SQL / Hive
    • R / SAS / Matlab (수학과 통계 지식)

 

데이터 분석가

  • BI(Business Intelligence)를 책임지는 직군
  • 지표를 정의하고, 지표를 바탕으로 시각화를 하며, 현업 부서의 이슈에 대응하고 임원의 의사결정에 인사이트를 제공
  • 하지만 매일매일 비슷한 일을 반복하다보면 재미가 없어질 수 있음 - 현타가 오는 시기가 있을수 있음
  • Skill Sets
    • SQL / Hive
    • R / SAS / Matlab (수학과 통계 지식)
    • 현업 업무에 대한 높은 이해도와 지식 (Domain Knowledge)

 

데이터 엔지니어

  • Data Warehouse(또는 Data Lake) 관리
  • Data Pipelines (ETL) 작업 및 관리
  • A/B Test 수행 및 관련 Pipeline 구현
  • 다양한 Data 관련 Tool을 다루거나 관리
  • Skill Sets
    • SQL: Hive, Presto, SparkSQL, …
    • Python / Scala / Java 등 프로그래밍 언어
    • Spark / YARN
    • Machine Learning, A/B Test, 통계 관련 지식
    • ETL/ELT Scheduler: Airflow, …
    • Container Technology: K8S, Docker

 

데이터 엔지니어링이란

데이터 엔지니어링을 하기 위해서는 당연한 것이겠지만 데이터가 있어야 한다. 그래서 막 시작하는 스타트업이라면 일단 데이터 부터 쌓기 시작하고, 쌓은 데이터를 잘 관리할 수 있도록 Data Warehouse 등과 같은 데이터 인프라를 구축해야 한다. 이렇게 되면 데이터 분석가들이 분석을 할 수 있는 환경이 세팅이 된 것이다. 하지만 안타깝게도 데이터가 조금 쌓였다고 데이터 인프라도 없이 무작정 분석가부터 고용하는 회사들이 있는데 이것은 잘못된 순서이다. 따라서 다음과 같은 순서로 발전해 나가는 것이 일반적으로 좋을 것이다.

1. Build Data Infrastructure

  • 확장이 가능하고 운영 DB와 분리된 별도의 Data Warehouse를 구축하여 분석을 위한 데이터를 저장하고 관리해야 한다.

 

2. Leverage Data (Feedback Loops)

  • 정기적으로 Summary Table을 생성한다.
  • BI Tool 등을 사용하여 시각화 대시보드를 만들어 분석한다.
  • Data Science 팀에 데이터를 제공한다.

 

1주차 소감

여기저기서 많이 들었던 데이터 팀에 대해 잘 정리해서 소개해주신 점이 데이터 팀에 대해 이해를 하는데 도움이 많이 되었다. 개인적으로 데이터 엔지니어, 데이터 분석가, 데이터 사이언티스트에 대해 모호한 점이 있었는데 거의 교과서 수준으로 정리해 주신것 같다. 이와 더불어 맥스님의 풍부한 경험에 걸맞는 다양한 케이스 스터디와 실제 사례 이야기를 들을 수 있어서 간접적으로나마 느낄 수 있어서 좋았다. 데이터 조직에 대해 블로그에 정리한 내용 보다 훨씬 더 많고 자세하게 설명해주셨으나 모든 내용을 포스팅하는 것은 현실적으로 어렵기에 간략한 내용만 정리해봤다. 또한 취준생들이나 커리어를 이제 시작한 주니어들에게 피가되고 살이되는 커리어와 관련된 이야기도 초반에 해주셔서 뭔가 더 얻어가는 느낌이다.
2주차에는 SQL을 사용한다고 하는데 작년에 프로그래머스의 SQL 스터디를 하길 잘했다. 앞으로의 스터디도 기대가 많이 되고 잘 배워서 당장 이번 프로젝트에서도 잘 써먹었으면 좋겠다.

 

참고 자료

관련글 더보기

댓글 영역