DataPipeline/Spark

Pyspark Session

wave35 2023. 7. 14. 17:52

[ SparkSession ]

Spark를 사용하기 위해선 entry point를 제공하는 Spark 객체를 사용해야 한다.

보통 SparkContext와 SparkSession은 사용하는데,

SparkSession은 Spark 2.0 버전에서 나왔고 spark RDD, DataFrame, DataSet, spark sql 사용이 가능하다.

 

spark-shell에서 자동적으로 SparkSession 객체가 생성되며 spark 변수로 사용할 수 있다.

 

또한 기존 SparkContext에서 다른 종류의 contexts인 SQLContext, HiveContext와 

함께 사용하기도 하였는데, SparkSession은 이를 대체하여 범용성을 가진다.

아래 예시를 보자

 

- SparkContext

from pyspark import SparkContext
from pyspark.sql import SQLContext
from pyspark.sql import HiveContext

sc = SparkContext()
sql_context = SQLContext(sc)
hive_context = HiveContext(sc)

 

- SparkSession

import pyspark
from pyspark.sql import SparkSession

spark = SparkSession.builder \
      .enableHiveSupport() \
      .getOrCreate()