Skip to content

데이터 엔지니어

Seong Yun Byeon edited this page Jul 22, 2018 · 29 revisions

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

주요 업무

  • 여러 서버 클러스터로 빅데이터를 처리
  • 클러스터 관리, 분산 컴퓨팅, 리소스 관리, Load Balancing 관련 문제 해결
  • ETL(Extract - Transfoam - 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
  • 데이터 저장
    • HDFS
    • AWS S3 or GCP Storage
    • Amazon Redshift
    • Google BigQuery
    • NoSQL
  • 데이터 처리
    • Apache Hadoop
    • Apache Spark
    • Apache Hive
    • SQL
    • ELK Stack
  • 리눅스
  • 클라우드 서비스
    • AWS, GCP, Azure, IBM, NBP 등
  • Dashboard
    • Metabase
    • Superset
    • Zeppelin
    • Redash
    • ELK Stack
    • Tableau
  • Task Management Tool(Luigi, Airflow...)
  • Docker

실제 업무 사례

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

공부 로드맵

  • 기업에선 1TB 이상의 데이터를 처리해본 사람을 선호
    • 그러나 신입의 경우 1TB 이상의 데이터를 구할 수 없거나, 많은 서버 클러스터가 없기 때문에 빅데이터 경력이 있기 힘듬
    • 따라서 컴퓨터 사이언스 전반의 지식을 중점적으로 평가
    • Linux, 자료구조, 알고리즘, OS, 네트워크 등
  • Hadoop 관련 논문 읽기 : 블로그
  • Spark
    • RDD
    • Dataframe : 최근 추세
  • 클라우드 환경에서 직접 구축

추천 링크

Clone this wiki locally