SparkConf/SparkContext/SparkSession 간단 정리

codeblue·2025년 1월 14일

Spark

목록 보기
2/2

1. SparkConf

SparkConf : 클러스터와 애플리케이션의 설정을 관리하는 데 사용

  • 애플리케이션 이름 : Spark UI에서 식별할 때 사용 :
    conf = SparkConf().setAppName("MySparkApp")

  • 클러스터 관련 설정 :
    conf = SparkConf().setMaster("local[4]") → 로컬에서 실행하며 4개의 코어 사용

  • SparkConfSparkContext를 초기화할 때 반드시 필요

  • SparkContext와의 연결:

from pyspark import SparkConf, SparkContext

conf = SparkConf().setAppName("MyApp").setMaster("local")
sc = SparkContext(conf=conf)

2. SparkContext

SparkContext : 스파크 애플리케이션에 대한 연결을 표현, 스파크 프로그램에서 RDD를 사용하기 위한 주요 엔트리 포인트

  • 클러스터 매니저와의 연결을 설정함 (예: Standalone, YARN, Mesos 등)
  • RDD 생성 및 관리
# 외부 데이터 로드: 파일 시스템, 데이터베이스 등에서 데이터를 로드
rdd = sc.textFile("data.txt")

💡엔트리 포인트 : 스파크와 같은 프레임워크에서는 해당 라이브러리나 프레임워크의 기능을 초기화 하고 접근하기 위한 API나 함수
참고한 사이트

👉 SparkContext, SparkSession은 애플리케이션이 스파크 기능을 사용하기 위해 초기에 접근해야 하는 엔트리 포인트

3. SparkSession

SparkSession : Spark 2.X 이후부터 SparkSession은 모든 Spark 기능의 엔트리 포인트

  • 데이터프레임을 생성하기 위해 SparkSession을 이용
  • SparkSession은 인스턴스 생성을 위한 build() 메서드를 제공 👉 기존 인스턴스를 재사용하거나 새로운 인스턴스를 생성 가능
# create a sparksession example 
spark = SparkSession.builder.appName("SparkSQL").getOrCreate()

🚩 Spark RDD 연산 참고하기 🚩

Spark 공식 문서
Spark RDD 연산 예제 모음

0개의 댓글