/Programmers_DE

프로그래머스 DataEngineering 리뷰 및 과제

Primary LanguageJupyter Notebook

데이터 엔지니어링을 시작하려는 모두에게 자신있게 추천하는 첫 스텝

[스터디] 실리콘밸리에서 날아온 데이터 엔지니어링 스타터 키트 with Python]
(https://programmers.co.kr/learn/courses/10505

프로그래머스의 ‘실리콘밸리에서 날아온 데이터 엔지니어링 스타터 키트’ 를 참여하며 수행한 내용입니다.

해당 강좌는 마감되었습니다.

데이터 팀의 핵심 인력, 데이터 엔지니어!
데이터 엔지니어는 조직에서 어떤 역할을 하고, 어떤 역량을 가진 사람일까요?
만약 내가 데이터 엔지니어가 되려면, 어디부터 시작해야 하는걸까요?
이런 막연한 질문에 대해 기술적 해답을 찾아가는 6주 온라인 스터디입니다.

SCHEDULE

  • 스터디 시작: 2020-07-18(토)
  • 스터디 종료: 2020-08-29(토) 총 6주
  • 슬랙을 활용한 상시 피드백, 코드리뷰, 토요일 오전 10시(KST)마다 열리는 리더와의 집중 멘토링 세션이 준비되어 있습니다.

커리큘럼

매주 데이터 엔지니어링과 관련해 어떤 내용을 배울지, 그 내용을 통해 나의 어떤 질문과 고민을 해소할 수 있는지 확인해보세요.

회사 제출용 과정 소개서가 필요하다면? 전체 커리큘럼 다운받기

1 주차

데이터 팀이란 무엇이고, 어떻게 구성되며, 어떤 역할을 하는가

회사에서 데이터 조직이 하는 일이 무엇인지 여러 각도에서 살펴보고, 어떤 구성원들이 존재하는지 알아봅니다. 데이터 조직에서 데이터 엔지니어가 하는 역할과 필요한 스킬 셋에 대해 자세히 알아보고 실제 테크 기업 데이터 엔지니어의 하루를 살펴봅니다.

1 주차에는 이런 고민을 해소합니다

  • 스타트업은 언제부터 데이터에 신경써야 할까요?
  • 데이터 애널리스트와 사이언티스트의 역할 차이는 무엇인가요?
  • 데이터 엔지니어가 하는 일은 백엔드 데이터베이스 관리자가 하는 일과 어떻게 다른가요?

다룰 내용

  • 데이터 팀의 구성과 역할에 대한 이해
  • 데이터 팀에서 데이터 엔지니어의 역할은

주요 키워드 : 데이터 팀의 역할, 데이터 팀의 구성원(데이터 엔지니어, 데이터 애널리스트, 데이터 사이언티스트)과 역할 [1주차 세션] 2020-07-18(토) 오전 10시~


2 주차

데이터 웨어하우스(Data Warehouse)

AWS Redshift 기반 데이터 웨어하우스 제작해 보고 SQL 클라이언트 툴을 통한 Redshift 사용 실습을 진행해봅니다.

2 주차에는 이런 고민을 해소합니다

  • 데이터가 얼마 없는 상황에서도 데이터 웨어하우스가 필요할까요?
  • 데이터 웨어하우스로 사용할 수 있는 데이터베이스로는 무엇이 있나요?
  • Redshift, BigQuery, Snowflake과 같은 데이터 웨어하우스들의 각 차이점은 무엇인가요?

다룰 내용

  • 데이터 엔지니어의 일주일 in 실리콘밸리
  • 실습환경 소개 (AWS & Docker)
  • 데이터 웨어하우스 만들기
    • [과제] Python을 활용한 Redshift access

주요 키워드 : ETL (Extract, Transform, Load)/데이터 잡/데이터 파이프라인, 데이터 잡 스케줄러, Airflow, 데이터 웨어하우스 (Redshift, Snowflake, BigQuery) [2주차 세션] 2020-07-25(토) 오전 10시~


3 주차

데이터 엔지니어링을 위한 SQL

데이터 엔지니어에게 가장 중요한 스킬 셋은 바로 SQL! 통상적으로 개발자가 쓰는 SQL과 비교해 데이터 엔지니어링에서 쓰는 SQL은 무엇이 다른지 알아봅니다.
예제 데이터를 토대로 복잡한 SQL을 사용하는 방법을 학습해봅니다.

3 주차에는 이런 고민을 해소합니다

  • 데이터 엔지니어로 일하려면 SQL을 어느 정도 수준까지 알아야 하나요?
  • 데이터 애널리스트나 사이언티스트들이 사용하는 SQL도 복잡한 수준인가요?
  • SQL로 할 수 있는 업무의 범위가 얼마나 넓은가요? 결국 코딩을 해야만 가능한 것들이 대부분 아닌가요?

다룰 내용

  • SQL 소개
  • 고급 SQL
    • [과제] [과제] 조금 더 복잡도가 높은 실제 현업 데이터를 토대로 앞서 실습했던 metrics들을 계산해보기

주요 키워드 : 기초 SQL과 데이터 엔지니어링을 위한 고급 SQL, JOIN, LEFT JOIN, OUTER JOIN, SQL Aggregate functions, UNION, EXCEPT, SQL UDF, Cohort, Redshift [3주차 세션] 2020-08-01(토) 오전 10시~


4 주차

ETL(Extract, Transform and Load) 작성하기

파이썬으로 간단한 ETL을 작성해 보고, Airflow가 어떻게 도움이 되는지 알아봅니다.
앞서 작성한 간단한 ETL을 Airflow로 변환해 봅니다.

4 주차에는 이런 고민을 해소합니다

  • ETL이 구체적으로 무엇인가요?
  • Airflow와 같은 프레임워크를 사용하면 뭐가 편해지나요?
  • Airflow 대신, FiveTran이나 StitchData와 같은 SaaS를 사용하는 것에 차이가 있나요?

다룰 내용

  • ETL 개념 및 ETL 작성
  • Airflow 소개

주요 키워드 : ETL, 데이터 파이프라인, 데이터 잡, 스케줄러, Python, SQL, Airflow, Redshift, Airflow DAG/Task/Operator [4주차 세션] 2020-08-08(토) 오전 10시~


5 주차

Airflow 심화학습

좀 더 복잡한 데이터를 다뤄보며 Airflow의 여러 기능에 대해 배워봅니다. 써머리 테이블을 직접 만들어 보면서 raw data가 어떻게 이해하기 쉬운 형태로 추상화되는지 확인해봅니다.

5 주차에는 이런 고민을 해소합니다

  • Airflow로는 스트리밍 데이터를 처리할 수 있나요?
  • DAG가 하나 끝나면 다른 DAG를 트리거하는게 가능한가요?
  • SQL만 사용해서 DAG를 만들 수도 있나요?

다룰 내용

  • Airflow 기반 ETL 작성 (1)
  • Airflow 기반 ETL 작성(2) : Summary table 만들기

주요 키워드 : Airflow 파라미터 설명, Airflow의 태스크/DAG 실행순서 정의, Airflow troubleshooting [5주차 세션] 2020-08-15(토) 오전 10시~


6 주차

대시 보드 만들기 및 과정 총 정리

5주차에 만든 써머리 테이블을 Tableau Online을 활용해 시각화해봅니다. 데이터 엔지니어로써 경험할 수 있는 전체 사이클을 경험하면서 데이터 엔지니어 역할에 대해 한 번 더 정리를 해봅니다.

6 주차에는 이런 고민을 해소합니다

  • 보통 metrics를 대시보드로 시각화할때는 어떻게 하나요?
  • BI 혹은 대시보드 툴은 여러 가지가 존재하는데 어떤 툴을 추천하나요?
  • 데이터 엔지니어링에 대해 기본적인 것을 배웠는데, 다음엔 어떤걸 더 배워야할까요?

다룰 내용

  • 대시보드 만들기
  • 과정 정리

주요 키워드 : Visualization, BI (Business Intelligence) Tool, BI Tool 비교, Tableau [6주차 세션] 2020-08-22(토) 오전 10시~