Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
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
관리 메뉴

study

Introduction to Data Engineering 본문

Data Engineer with Python

Introduction to Data Engineering

채승완 2022. 2. 27. 07:44

데이터베이스는 데이터 유형에 따라 SQLNoSQL로 구분하며 SQL에는 대표적으로 MySQL, PostgreSQL이 있다

NoSQL에는 대표적으로 redis, mongoDB과 있다

 

병렬 처리 오픈소스 소프트웨어인 하둡에 대해서 소개하겠습니다

하둡은 2가지 특징을 가지고 있으며

첫 째 HDFS인 분산 파일 시스템입니다

파일이 여러 다른 컴퓨터에 있는 것을 말합니다

 

 두 번째는 Map Reduce입니다

작업을 하위 작업으로 나누고 여러 장치에 데이터를 분배합니다

 

Map Reduce는 초기의 병렬 처리에서 많이 사용된 것으로

현재는 HIVE를 가장 많이 사용하고 있습니다

 

병렬 계산 프레임워크인 Spark를 소개하겠습니다

MapReduce보다 100배 더 빠른 작업 속도를 가졌습니다

Spark를 Python 인터페이스로 사용하는 tool이 바로 PySpark입니다

데이터를 Spark를 활용해 정제한 후 데이터베이스에 업로드 하는 경우

수작업으로도 진행할 수 있으며, cron이라는 리눅스 tool을 사용할 수 있다

하지만 더 효율적인 방법에 대해 고민해봐야 한다

최근 Apache의 Airflow tool이 가장 많이 사용되고 있습니다

Airflow와 관련된 자세한 내용은 추후에 다루도록 하겠습니다

Extract(추출) 단계에서 DB의 경우 크게 두 가지로 구분됩니다

OLTP(온라인 트랙잭션 처리)는 행 단위로 진행되며, OLAP(온라인 분석 처리)는 열 단위로 진행됩니다

OLTP(온라인 트랙잭션 처리)는 행 단위(record) 저장하므로 빠르며 

OLAP(온라인 분석 처리)는 열 단위로 쿼리를 진행하므로 병렬화가 적합함