Be Data
데이터 엔지니어(Data Engineer, DE)란, 본문
데이터 엔지니어
- 데이터를 활용하는 모든 사람들을 위해 데이터를 저장, 가공, 처리하는 직군
- 데이터 인프라를 구축하는 역할
- 우리가 물(=데이터)을 사용할 수 있도록 배관(=데이터 ETL 파이프라인)을 만들어주는 배관공(=데이터 엔지니어)
- 업무
- Database에 저장된 데이터를 data warehouse 로 옮기는 일
- 데이터 분석을 더 쉽게 할 수 있는 환경(인프라) 구축
- 데이터 마트 구축
- SQL Join 한 결과를 Batch로 Table에 저장
- 특정 목적, 도메인에 맞는 마트 구축
- 데이터 분석시 데이터 시각화 도구가 필요한 경우, 데이터마트와 시각화 도구를 결합하는 환경을 마련
- Tableau
- Redash, Superset, Metabase, 등 BI도구
- 데이터 마트 구축
- Data Product 개발
- AB test platform, 데이터 기반 서비스, Analytics도구, 데이터 로그 시스템, 머신러닝/딥러닝 서비스
- 필요 역량
- 데이터 엔지니어링 역량(대용량 데이터처리, 데이터베이스, 네트워크, 등 종합적인 역량)
- 개발 역량(Python, Java, scala, shell …)
- 클라우드, Docker, Kubernetes
- 데이터 아키텍쳐 설계 역량
- 백엔드 개발자의 필요역량과 유사
- 데이터 엔지니어링 관련 유명 라이브러리
- Apache Spark, Apache Kafka - 대용량 데이터 처리, 실시간
- Apache Airflow - Workflow Management → 많이 사용
용어
- 데이터 웨어 하우스
- 데이터 분석에 특화된 데이터베이스
- GCP의 BigQuery, AWS의 Redshift, Snowflake,등
- ETL 파이프라인: Extract, Transform, Load
- E
- 데이터를 추출
- 서비스의 DB, 앱/웹의 로그 데이터 추출
- T
- 데이터 변환
- 데이터를 잘 활용할 수 있도록 데이터를 변환
- ex) EXCEL → JSON
- L
- 데이터를 사용할 수 있도록 불러오기
- 변환한 데이터를 사용할 수 있도록 설정
- E
- 데이터 처리 방식 - 배치, 실시간
- 배치(Batch)
- 1시간에 1번씩, 1일에 1번씩
- 특정 시간에 1번씩
- 실시간(Realtime, Streaming)
- 요청시 바로바로
- 실시간으로 데이터 처리
- 배치(Batch)
출처) https://www.youtube.com/watch?v=1Viu7Ce632s
Comments