Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

Be Data

데이터 엔지니어(Data Engineer, DE)란, 본문

데이터 엔지니어 정보

데이터 엔지니어(Data Engineer, DE)란,

bs engineer 2022. 8. 20. 20:09

데이터 엔지니어

  • 데이터를 활용하는 모든 사람들을 위해 데이터를 저장, 가공, 처리하는 직군
  • 데이터 인프라를 구축하는 역할
  • 우리가 물(=데이터)을 사용할 수 있도록 배관(=데이터 ETL 파이프라인)을 만들어주는 배관공(=데이터 엔지니어)
  • 업무
    1. Database에 저장된 데이터를 data warehouse 로 옮기는 일
    2. 데이터 분석을 더 쉽게 할 수 있는 환경(인프라) 구축
      • 데이터 마트 구축
        • SQL Join 한 결과를 Batch로 Table에 저장
        • 특정 목적, 도메인에 맞는 마트 구축
      • 데이터 분석시 데이터 시각화 도구가 필요한 경우, 데이터마트와 시각화 도구를 결합하는 환경을 마련
        • Tableau
        • Redash, Superset, Metabase, 등 BI도구
    3. Data Product 개발
      • AB test platform, 데이터 기반 서비스, Analytics도구, 데이터 로그 시스템, 머신러닝/딥러닝 서비스
  • 필요 역량
    • 데이터 엔지니어링 역량(대용량 데이터처리, 데이터베이스, 네트워크, 등 종합적인 역량)
    • 개발 역량(Python, Java, scala, shell …)
    • 클라우드, Docker, Kubernetes
    • 데이터 아키텍쳐 설계 역량
    • 백엔드 개발자의 필요역량과 유사
  • 데이터 엔지니어링 관련 유명 라이브러리
    • Apache Spark, Apache Kafka - 대용량 데이터 처리, 실시간
    • Apache Airflow - Workflow Management → 많이 사용

 

용어

  1. 데이터 웨어 하우스
    • 데이터 분석에 특화된 데이터베이스
    • GCP의 BigQuery, AWS의 Redshift, Snowflake,등
  2. ETL 파이프라인: Extract, Transform, Load
    1. E
      • 데이터를 추출
      • 서비스의 DB, 앱/웹의 로그 데이터 추출
    2. T
      • 데이터 변환
      • 데이터를 잘 활용할 수 있도록 데이터를 변환
      • ex) EXCEL → JSON
    3. L
      • 데이터를 사용할 수 있도록 불러오기
      • 변환한 데이터를 사용할 수 있도록 설정
  3. 데이터 처리 방식 - 배치, 실시간
    1. 배치(Batch)
      • 1시간에 1번씩, 1일에 1번씩
      • 특정 시간에 1번씩
    2. 실시간(Realtime, Streaming)
      • 요청시 바로바로
      • 실시간으로 데이터 처리
    → 데이터를 어떻게 활용할지 목적에 따라 배치, 실시간 파이프라인 판단

 

출처) https://www.youtube.com/watch?v=1Viu7Ce632s

Comments