1. 요약
- Spark은 2세대 빅데이터 처리 기술
- 자체 분산 파일 시스템을 갖고 있지 않음
- DataFrame, SQL, ML, Streaming, Graph와 같은 다양한 기능 지원
- 빅데이터 처리 종합 선물세트
- 단순히 ETL만 할거라면, Hive 같은 것과 차이가 나지 않는다.
- 구조화된 데이터 처리라면 SQL을 사용
- 굳이 데이터프레임으로 readability를 떨어뜨릴 필요가 없다.
- spark SQL 엔진의 최적화 기능을 사용하기 위해서라도, 웬만하면 SQL로 작성
- 하지만 어떤 기능들은 SQL만으로도 불가능하니, 데이터프레임과 적절히 조합해서 사용
- 어떤 경우에는 UDF가 굉장히 유용하게 쓰일 수 있다.
- 주로 기능적인 부분에 대해 학습
- Spark 고급 강의에서는 최적화와 관계된 부분의 심화학습 예정
SPARK의 다른 용도(ETL 다음)
- ML Feature 계산
- 이는 큰 스케일에서는 Feature 계산을 위한 용도
- DataFrame과 SQL 사용. UDF를 많이 사용하게 됨
- Model Serving
- MLflow와 연관
- 기타 분석 관련 파이프라인 작성
- 마케팅 기여도 분석
- A/B Test 분석 (데이터 분석가와 협업)
2. 다음 스텝
- SQL 심화학습
- DBT 배우기
- 데이터 품질 체크
- ELT에 굉장히 유용
- 데이터 카탈로그 툴들이 Support 하는 툴
- Spark 최적화 관련 학습
- Executor와 Driver의 메모리 사용
- Spil이란 무엇이며 어떻게 막을 수 있나?
- Data Skew를 막거나 줄이기 위한 방법들
- 셔플링 최소화 등
- 문제마다 달라서 general한 좋은 해법이 있진 않다.
- GDPR : 데이터의 주인은 개인이다. 회사가 인다.
- 어떻게 보안을 잘한 것인가, Privacy engineer라는 직군도 생기고 있다.(데이터 직군과 굉장히 연관)
- 가장 중요한 기술은 SQL
- 결국 관계형 DB의 모델링이 정해지고, 데이터분석을 하더라도 코딩의 중요성이 늘어나고 있다.
- 여러가지 언어 중 하나는 Python
- 생산성 -> Code Registry(GitHub)
- 데이터분석가 : 통계 지식 매우 중요, A/B 테스트 분석
- 빅데이터 시스템이 컨테이너 위에서 올라가는 경우가 많다보니까, Docker나 K8S를 알아야한다.
- 머신러닝 Featue 계산을 하다보면, NoSQL을 쓰는 시점이 온다.
- 한 단계 더 나간다면, 데이터엔지니어는 ML엔지니어, MLOps로 갈 수 있다.
- MLops : 모델 빌딩, 배포, 모니터링을 책임지는 직군
'데이터 엔지니어링 > Spark' 카테고리의 다른 글
31. Spark EMR, Zepplin (1) | 2023.08.25 |
---|---|
30. SparkML Pipeline (0) | 2023.08.25 |
29. SparkML(Classification, 타이타닉 생존 예측 모델) (0) | 2023.08.25 |
28. Spark ML(Regression, 보스턴 주택값 예측 모델) (0) | 2023.08.23 |
27. SPARK ML 소개 (0) | 2023.08.23 |