Skip to content

데이터 엔지니어

Sung Yun Byeon edited this page Jul 31, 2023 · 29 revisions

데이터 엔지니어는 앱 또는 웹에서 발생하는 데이터들을 파이프라인을 통해 저장소(Database, S3,...)에 저장합니다. 대용량 데이터를 수집하고 관리하며 유지하는 일을 담당합니다. 아래 내용들을 가볍게 읽어보시고 추천 링크도 꼭 읽어보세요! :)

유튜브에 올린 Ep 5. 데이터 엔지니어가 하는 일은? 데이터 엔지니어 공부 방법! (저만의 공부 방법 포함!)도 참고해보시면 좋을 것 같아요!

주요 업무

  • 여러 서버 클러스터로 빅데이터를 처리
  • 클러스터 관리, 분산 컴퓨팅, 리소스 관리, Load Balancing 관련 문제 해결
  • ETL(Extract - Transform - Load)
  • DW(Data Warehouse) 구축
  • BI(Business Intelligence) 구축
  • Hadoop, Spark, Kafka 등을 사용해 업무

채용 공고에 자주 나오는 자격 요건

  • 리눅스, 쉘 스크립트
  • 데이터 수집 및 가공
  • Hadoop
  • Spark
  • SQL
  • DW 시스템 설계 및 운영
  • ETL
  • 파이프라인 개발
  • BI Tool 또는 대시보드 구축
  • 추천 시스템 구축
  • 머신러닝/딥러닝

필요 역량

  • Java, Scala, Python
  • 데이터 엔지니어의 업무는 주어진 환경에서 최상의 퍼포먼스를 낼 수 있도록 파이프라인을 구축하는 것입니다
    • 아래 역량 밑에 있는 도구들은 도구일 뿐, 모두 알 필요는 없습니다(블럭같이 각 항목에서 몇개를 조합해서 사용해요)
    • 특정 기술을 사용할 때 비슷한 도구 대비 왜 이 도구를 선택했는가?를 항상 고민해보는 습관이 필요합니다
    • 언어와 플랫폼은 "선택"의 문제이고 문제해결을 위한 "도구"라 생각하는 유연한 개발자가 되길
  • 데이터 수집
    • Apache Kafka, Fluntd, Embulk, Logstash, Redis, Pub/Sub, Kinesis
  • 데이터 저장
    • HDFS, json, Parquet, AWS S3 or GCP Storage, RDB, NoSQL, Amazon Redshift, Google BigQuery
  • 데이터 처리
    • Apache Hadoop, Apache Spark, Apache Hive, SQL
  • 리눅스
  • 클라우드 서비스
    • AWS, GCP, Azure, IBM, NBP 등
  • Dashboard
    • Metabase, Superset, Zeppelin, Redash, Tableau
  • Task Management Tool(Luigi, Airflow...)
  • Docker

실제 업무 사례

  • 데이터 파이프라인 구축
    • 파이프라인 : 데이터 수집 및 가공, 저장을 포함하는 일련의 과정. ETL(Extract - Transform - Load)를 수행
  • 추천 시스템 아키텍쳐 구축(End to End Streaming 사례)
  • 데이터 분석가를 위한 각종 프로그램 구축
    • 대시보드
    • GPU 환경 Notebook

공부 로드맵

추천 링크

Clone this wiki locally