반응형
정의
- spark-submit은 Apache Spark 작업을 클러스터에서 실행하는 명령어입니다.
- PySpark, Scala, Java, R 애플리케이션을 YARN, Kubernetes, Mesos 또는 Spark Standalone 모드에서 실행할 수 있습니다.
특징
✔ 클러스터 모드 지원
- local, yarn, mesos, kubernetes, standalone 등 다양한 실행 모드 제공
✔ 리소스 조정 가능 - --num-executors, --executor-memory, --executor-cores 옵션으로 클러스터 리소스를 최적화 가능
✔ 다양한 배포 모드 - client(로컬에서 실행) vs cluster(클러스터에서 실행) 지원
✔ 다양한 언어 지원 - PySpark, Java, Scala, R 애플리케이션 실행 가능
✔ HDFS 및 클라우드 저장소 연동 가능 - s3://, hdfs://, gs:// 등을 활용하여 데이터 저장 가능
- Spark Submit 명령어(기본형식)
spark-submit \
--master <master-url> \
--deploy-mode <deploy-mode> \
--num-executors <n> \
--executor-cores <n> \
--executor-memory <memory> \
--driver-memory <memory> \
<application.py or application.jar> \
[application-arguments]
- 옵션 설명
--master | 실행할 클러스터 유형 (yarn, kubernetes, local, spark://<host>:<port> 등) |
--deploy-mode | client (로컬 실행) vs cluster (클러스터 실행) |
--num-executors | 실행할 Executor 개수 설정 |
--executor-cores | 각 Executor의 CPU 코어 수 설정 |
--executor-memory | 각 Executor의 메모리 설정 (4G, 8G 등) |
--driver-memory | 드라이버 프로그램 메모리 설정 |
<application.py> | 실행할 PySpark 스크립트 또는 JAR 파일 |
3. 실행 모드별 명령어
1) Local 모드 (로컬에서 실행)
spark-submit --master local[4] wordcount.py
특징
✔ local[n] → n개의 코어 사용
✔ 단순한 테스트 및 디버깅에 적합
2) YARN 모드 (Hadoop 클러스터)
① Cluster Mode
spark-submit --master yarn --deploy-mode cluster \
--num-executors 4 \
--executor-cores 2 \
--executor-memory 4G \
--driver-memory 2G \
wordcount.py
특징
✔ YARN 리소스 매니저 활용 → 클러스터가 실행 관리
✔ 실행이 클러스터에서 수행되므로 로컬 머신과 무관
반응형
'IT > Spark' 카테고리의 다른 글
RDD(Resilient Distributed Dataset) (0) | 2025.02.08 |
---|---|
PySpark 관련 유투브 (0) | 2025.02.08 |
Apache Spark 클러스터에서 Python 처리 (0) | 2025.02.07 |
PySpark (0) | 2025.02.07 |
Spark 2.4 / 3.0 비교 (0) | 2025.02.04 |