What is 스파크?
- 정의: Apache Spark는 SQL, 스트리밍, 머신러닝 및 그래프 처리를 위한 기본 제공 모듈이 있는 대규모 데이터 처리용 통합 분석 엔진. Spark는 클라우드의 Apache Hadoop, Apache Mesos, Kubernetes에서 자체적으로 실행될 수 있으며 다양한 데이터 소스에 대해 실행될 수 있다.
- 쉬운 설명: 대용량 데이터를 다루는 것에 특화된 프레임 워크
Why 스파크?
완전 대용량 데이터 다룰 때 (ex. 약 800GB, 수 TB 등)
- [+]
- Pyspark: Python을 기반으로 하여 별도의 언어 공부가 필요 없음
- 대용량 데이터: 대용량 데이터를 다루는 기술에 대한 이해
- 분산 처리: 여러 대의 컴퓨터를 사용한다는 것에 대한 이해
- 대용량 데이터 처리는 분할Partition하여 처리함으로써 스파크를 우회할 수 있지만, Graph 형식의 데이터는 분할하기 어려워 부득이 스파크를 사용
- [-]
- 때로는 스파크가 정말 필요해서 써야할 때도 있지만, 우회가 가능할 때도 있다.
- 샘플링, 경량화, 분할, 스케일업을 통해 스파크를 통하지 않고 문제 해결 가능 할 때도 있음
- 비싸고, 오래 걸리고, 승인도 번거롭고, 코드도 다시 짜야하고
- 하루에도 수십억 건의 데이터가 발생하는 상황 → 하나의 머신으로는 감당 불가
- 약 10~20대의 컴퓨터를 사용하면 하루에 3~5만원 정도.. 비싸다!
'SPARK' 카테고리의 다른 글
| [SPRAK] 스파크를 최대한 안쓰기 위한 방법 (Sampling,분할처리,Dask,자동화) (0) | 2024.07.18 |
|---|---|
| [SPARK] 병렬 처리, 분산 처리, Vectorize, CPU, GPU,Joblib (1) | 2024.07.18 |
| [SPARK] 클라우드 사용 이유 3가지 (스토리지, 엔진, 데이터베이스) (0) | 2024.07.15 |
| [SPARK] 파일 유형, I/O (0) | 2024.07.15 |
| [SPARK] (중요)파이썬과 데이터 - RAM, Disk, CPU, Data type (0) | 2024.07.15 |