AI 그게 뭔데
끄적끄적 개발일지
AI 그게 뭔데
전체 방문자
오늘
어제
  • 분류 전체보기 (342)
    • 논문 (5)
    • DL(Deep-Learning) (34)
      • 개념 (14)
      • Python 기초 (14)
      • Tensorflow (6)
      • Pytorch (0)
    • NLP (10)
    • OpenCV (53)
    • DevOps (10)
      • AWS (2)
      • Docker & Kubernetes (4)
      • Spark (3)
      • SQL (1)
    • MacOS (1)
    • React-Native (2)
    • BI (3)
      • GA(Google Analytics) (3)
      • Tableau (0)
    • 알고리즘 (221)
      • 백준 (76)
      • 프로그래머스 (108)
      • 기타 알고리즘 (37)

인기 글

태그

  • 프로그래머스
  • level1
  • 파이썬
  • OpenCV
  • LEVEL2
  • 연습문제
  • 알고리즘
  • 이코테
  • Python
  • 백준

최근 글

hELLO · Designed By 정상우.
AI 그게 뭔데

끄적끄적 개발일지

데이터 엔지니어링이란?
DevOps/Spark

데이터 엔지니어링이란?

2022. 2. 24. 15:45

데이터 엔지니어링이란 데이터를 가져와 분석하기 좋은 형태로 가공하는 것이다.

데이터 가공 작업을 ETL(Extractingm Transforming, Loading) 작업이라 하며, 데이터를 추출, 변형, 저장하는 작업이다.

 

요즘에는 기존의 ETL 방식에서 ELT 방식의 아키텍쳐로 변환하고 있다. 

시스템의 복잡도에 따라 데이터 추출과 적재를 한번에 하기도 한다.

 

 

데이터 아키텍쳐 분야를 크게 6가지로 나누어 보면 아래의 표로 나타낼 수 있다.

 

Source 비즈니스와 운영 데이터 생성 
Ingestion & Transformation 운영 시스템에서 데이터 추출 (E) 
추출된 데이터를 저장하고 스키마 관리 (L) 
데이터를 분석할 수 있도록 변환 (T) 
Storage 데이터를 쿼리와 처리 시스템이 쓸 수있도록저장 

비용과 확장성 면으로 최적화 
Query & Processing 데이터 분석을 위한 인사이트 만들기 (Query) 

저장된 데이터를 이용해 쿼리를 실행하고 필요시 분산처리 (Processing) 

과거에 무슨 일이 일어났는지 혹은 미래에 무슨일이 일어날지 (ML) 
Output 데이터 분석을 내부와 외부 유저에게 제공
 

데이터 모델을 운영 시스템에 적용 

 

 

 

데이터 엔지니어링 도구들을  살펴보면 아래와 같다.

 

Source   Log
  Database 
Ingestion & Transformation   Airflow
  Kafka
  Pandas
  Spark
  Flink
  Hive 
Storage   Parquet, S3, HDFS 
Query    Presto, Dremio (Query) 
Processing   Tensorflow 
  Pytorch 
  Spark 
  SparkML 
  Flink 
Output
  Tableau, Looker

 

Source, Storage, Query는 서비스 레벨보다 로우레벨 문제를 푸는 단계이고,

Ingestion & Transformation, Processing가 수집과 변환, 데이터 처리를 하는 단계이다.

 

결국 데이터 엔지니어링에서 중요한 부분은 Ingestion & Transformation, Processing 단계이다.

데이터를 수집을 위한 환경 구축이 잘되어있어야 데이터로 부터 유의미한 결과를 얻을 수 있으므로 엔지니어링이 중요하다.

 

Garbage In Garbage Out 
복잡한 데이터 모델을 만드는것 보단 좋은 데이터를 모으고 잘 관리하는 것이 훨씬 효율적으로 성과를 내는 방법 

 

'DevOps > Spark' 카테고리의 다른 글

[Spark] RDD(Resillient Distributed Data)란?  (0) 2022.02.24
[Mac OS] Java (OpenJDK) 설치 및 버전 변경하기  (0) 2022.02.23
    AI 그게 뭔데
    AI 그게 뭔데
    공부와 개발 그리고 AI가 약간 첨가된 흔적 남기기

    티스토리툴바