본문 바로가기
Airflow

[데이터엔지니어] 실리콘 밸리에서 날아온 엔지니어링 스타터 키트 Week1

by 개복취 2023. 8. 21.

1주차 주요내용

  1. 요즘 커리어 트랜드에 대한 인사이트(마인드셋)
  2. 데이터 도메인에 대한 전반적인 이야기
  3. 데이터 웨어하우스에 관하여 (AWS Redshift & SQL)

요즘의 커리어란?

  • 커리어 사다리? : 아래 위의 직선적인 변화만 있었음
  • 요즘에는 커리어 정글짐: 다양한 방향성 (옆, 위, 아래, …)
  • 다른 역할 시도해보기 (리드 역할, 매니저 역할..)
  • 전문성 & 안정성에 대해 다시한번 생각해보기

결과지향적인 사람이 되어라

내가 맡은 일을 성공으로 이루는 방향(경험)이 나를 단단하게 만든다.

 

배움의 전형적인 패턴

내 주식도 이랬으면 좋겠다

  1. 가장 중요한 것은 버티는 힘 → 이걸 즐겨야 한다.
  2. 내가 뭘 모르는지 생각해봐야 함 → 내가 어디서 막혔는지 (나 또는 주변에) 구체적으로 질문할 수 있나?
  3. 잘 하는 사람 보고 기죽지 않기 → 나도 저사람 처럼 되야겠다. 물어 봐야겠다.
  4. waterfall 의 시대는 지남.. 이제는 AGILE의 시대이다.

 

결과를 내는데 집중하기

  1. 성취하는 경험하기
  2. 어떤 결과를 낼 것인지 부터 생각하기 (문제 정의)
    • 결정권자와 소통을 통해 맞는 결과부터 정의
    • 예를들면 성공 실패는 어떻게 정의되나? 우선순위는?
    • 의사소통 능력의 중요성 (자기 검열 안하기, 질문 잘 하기)
      → 사수가 바쁘니깐 물어보면 안되는거아냐?? 이정도는 알아야 되는거 아닌가.. 따위의 생각 버리기
    • Done is better than perfect → 완벽주의보다 완료주의

시작과 꾸준함의 중요성 → 복리가 있는 일

  • 아무일도 안하면 아무런 일도 발생하지 않는다… : 시작이 반
  • 운동, 공부, 글쓰기, 등…

"무엇을 준비해야하나요?" < "무엇을 집중해서 공부해야 하나요?"

  • 정말 할게 많다.
  • 기본에 집중해라 python, SQL, DashBoard 더 나아가서 Spark 정도에 집중
  • 회사 내부 플랫폼에 집중할 수 있어야한다.

Vision of Data Organization

  • Build Leverage for the company through Trustworthy Data: 데이터로 부가가치를 만들어주는가?
    1. 데이터로 직접 매출 혹은 차별성이 만들어지는가?
    2. 기본적으로 데이터는 서포트 조직.. 엄청 각광받지 않는다.

데이터 팀의 기여방법 (1) - 더 좋은 의사 결정 (decision science)

  • Providing high quality data in timely fashion so that
    1. Data informed decision vs. data driven decisions
      혁신이 생기려면 전자쪽이 맞음, 후자는 과거보다 더 잘 하는 방향으로 간다. 그러나 혁신은 생기지 않는다.
    2. Data culture within your company is very critical
      회사내부에서의 데이터 문해력은 중요한 요소이다.

데이터 팀의 기여방법 (2) - 프로덕트/서비스 개선 (product science)

  • 고품질 데이터에서 패턴을 찾아 서비스 기능 개선

데이터 엔지니어는 다양한 역할을 수행한다.

  • managing Data Warehouse : 데이터 웨어하우스의 전반적인 프로세스를 관리한다.
  • Writing and Managing Data Pipelines → data pipeline == ETL (Extract, Transform and Load) == Data Job == DAG
    : 데이터 파이프라인을 쓰고 관리하는 작업을 한다. DAG는 나중에 Airflow에서 사용되는 하나의 단위를 의미한다.
  • Types of Data Pipelines
    • Batch Processing vs. Realtime Processing : 배치작업은 Airflow, 실시간작업은  Kafka
    • Summary Data Generation (ELT - “DBT” - Analytics Engineer) : ETL를 구현할때 거의 표준처럼 사용하는 것을 ‘dbt’ 라고 한다. 기본적으로 SQL임 (CTAS: Create Table As ~~ Select)
  • DBT ⇒ 코딩은 아닌데 analytic engineer이 사용하는 것들

향후 커리어가 될 수도 있는 직군들 : MLE, MLOps, Privacy Engineer, Analytics Engineer...

데이터엔지니어는 무조건 코딩 인터뷰가 있을 것이다. 거진 백엔드 하는일과 비슷하기 때문이다.

 

데이터 엔지니어가 알아야 하는 기술들은?

  • SQL: Hive, Presto, Spark SQL
  • Programming Language : Python
  • ETL Scheduler: Airflow

데이터 엔지니어 주니어 입장에서 아래내용은 overkill

  • Large Scale Computing Platform : Spark / YARN
  • Cloud Computing : AWS → Certi 있으면 좋음
  • Container Tech. : K8s, Docker
  • Knowledge : A/B Test, ML

What is Data Warehouse?

비싼 포스트그래시퀄

  • MySql은 하나의 데이터 소스만 관리하기 때문에 별도의 DB를 분석하기 위해 Data Warehouse 를 만들어야함 → Data Warehouse는 처리속도보다 처리할 수 있는 데이터 크기가 더 중요하다.
  • AWS Redshift, Google BigQuery, snowflake.. 등이 대표적인 데이터 웨어하우스이다.
  • OLTP(Online Transaction Processing) vs. OLAP (Online Analytical Processing)
    • OLTP 는 처리속도가 더 중요하다.
  • Central Data Storage of your Company : 면접볼때 "데이터 팀에서는 어떤 스택이 존재하나요?" 물어보면 좋음
    • Data Warehouse 존재여부에 따라 good news or bad news가 동시에 존재해버리는 상황..
  • ETL은 데이터 엔지니어가 읽어다가 데이터 웨어하우스, 레이크 에다가 저장해두는것이고 ELT는 그것을 로딩해서 새로운 데이터를 만드는 것을 의미한다.

후기

첫번째로, 눈물나는 가격으로 신청한 강의이기에.. 후회없이 해야겠다는 생각이 들었다.

데이터엔지니어 직군 자체가 마이너한 분야라서 해당강의 정원이 없어서 못 들었었는데 운좋게도 듣게되어 상당히 좋았다.

강의에서 이야기한 것 처럼 (미뤄두었던) 복리가 있는 글들을 하나씩 적어나가볼 예정이다.

  •