프로그래밍/PySpark

[PySpark] SparkConf로 Spark 환경설정

히또아빠 2023. 2. 3. 15:05

Spark를 사용하기 이전에 SparkConf 객체를 사용해 Java system properties를 사용한다.

다같이 사용하는 분석서버에서 데이터 처리나 분석을 할 때 상황에 맞게 적절한 core수 제어나 메모리를 지정한다면 제한된 리소스로 효율적인 데이터 처리 및 분석이 가능하다.

from pyspark.sql import SparkSession
from pyspark import SparkConf


# spark-conf 
conf = SparkConf()
conf.set("spark.driver.memory", "50g")
conf.set("spark.executor.memory", "30g")
conf.set("spark.ui.port","4051")


spark = SparkSession.builder \
    .appName("-") \
    .master("local[*]") \
    .config(conf=conf) \
    .getOrCreate()
옵션 설명
spark.excutor.cores executor 프로세스에 사용할 코어수
spark.executor.memory executor 프로세스당 사용할 메모리 용량
JVM 메모리 설정 형식과 동일
spark.driver.cores
드라이버 프로세스에 사용할 코어수
spark.driver.memory 드라이버 프로세스에 사용할 메모리 용량
spark.app.name 어플리케이션 이름, UI에 표시됨
spark.local.dir 디스크에 저장되는 맵 출력 파일, RDD와 같은 데이터 저장 공간
spark.ui.port 노트북에 사용할 포트

 

 

Reference

 

[Apache Spark] Executor 사이즈와 개수 정하기

Holden Karau-High Performance Spark(Jpub) 정리

jaemunbro.medium.com

 

300x250
반응형