지구정복

데이터 엔지니어링 로드맵 본문

데이터 엔지니어링 정복

데이터 엔지니어링 로드맵

nooh._.jl 2020. 12. 1. 21:42
728x90
반응형

지극히 개인적인 생각임을 미리 말씀드립니다~

현업에 계신 분들의 조언을 부탁드립니다 ㅎㅎ


 

빅데이터 분야는 간단하게 말하면 

 

빅데이터 분석분야(Analyst)

빅데이터 구축분야(Engineer)

빅데이터 과학분야(Scientist)

 

정리될 수 있을 것 같다.

 

분석분야는 데이터 애널리스트의 업무로서 말그대로 방대한 데이터를 분석해서 유의미한 정보를 창출하는 것이다.

프로그래밍 기술보다는 통계학, 데이터마이닝의 지식이 더욱 필요하다.

 

구축분야는 데이터 엔지니어의 업무로서 데이터를 수집, 변형, 적재, ETL(추출, 변형, 불러내기) 등의 업무를 위해

플랫폼이나 파이프라인을 구축하는 것이다.

프로그래밍 기술 즉 개발능력이 더욱 요구된다.

 

과학분야는 데이터 사이언티스트의 업무로서 개발능력과 수학/통계, 그리고 특정 분야의 전문성을 가지고 

새로운 분석모델, 알고리즘, 프로세스를 만들거나 데이터를 연구하는 것을 의미한다.

쉽게 말하면 분석분야+구축분야+특정분야의 전문성이 필요하다.

 

현재 나의 최종목표는 데이터 사이언티스트이고 출발은 구축분야로 시작하려고 한다.

물론 빅데이터 분야가 위에 3가지 이외에도 다양하지만 간단하게 말하면 위와 같다.

 

 

 

여기서 엔지니어링 분야의 로드맵을 개인적으로 정리해봤다.

먼저 데이터 엔지니어의 기술 역량이다. 출처는 어디서 가져왔는지 기억이 나질 않는다...

위 그림의 30가지 리스트에서 10위까지의 순위를 보면

1. SQL

2. Python

3. Spark

4. AWS

5. Java

6. Hadoop

7. Hive

8. Scala

9. Kafka

10. NoSQL

등등이 있다. 

 

또한 아래 그림은 패스트캠퍼스의 엔지니어링 인강에서 데이터 수집과정에 필요한 툴을 정리한 그림이다.

 

 

마지막으로 이것도 출처가 기억이 나지 않지만 구글 이미지에서 퍼온 사진이다.

아래 그림은 데이터 엔지니어 학습 로드맵이다.

 

 

정리하면 데이터 엔지니어가 되기 위해서는 기본적으로

 

1. Python 또는 Java, Scala 등 최소한 1개의 개발언어를 숙지하고 있어야 한다.

2. 데이터를 다루기 위해 SQLNoSQL을 다룰 수 있어야한다.

3. 요새는 클라우드 서비스를 많이 사용하므로 클라우드를 사용할 줄 알아야한다. AWS, 구글 클라우드 등

4. 하둡의 분산 시스템을 공부해야 한다. 

 

그리고 서버운영 및 하둡이 리눅스에서 돌아가므로 리눅스에 대한 학습도 필요하다.

Linux

 

여기까지가 기본 역량인 듯 하고 다음으로 빅데이터 엔지니어링에 필요한 툴 학습이 필요하다.

Kafka, Spark 등등등등...하둡 에코시스템들

하둡 외에는 Elastic stack 등도 있다.

 

 

 

 

이를 위해 아직 1, 2, 3단계를 열심히 공부중이지만 아직도 공부할게 너무나도 많다...

 

 

728x90
반응형
Comments