SparkContext vs SparkSession

I am a Tech Enthusiast having 13+ years of experience in ๐๐ as a ๐๐จ๐ง๐ฌ๐ฎ๐ฅ๐ญ๐๐ง๐ญ, ๐๐จ๐ซ๐ฉ๐จ๐ซ๐๐ญ๐ ๐๐ซ๐๐ข๐ง๐๐ซ, ๐๐๐ง๐ญ๐จ๐ซ, with 12+ years in training and mentoring in ๐๐จ๐๐ญ๐ฐ๐๐ซ๐ ๐๐ง๐ ๐ข๐ง๐๐๐ซ๐ข๐ง๐ , ๐๐๐ญ๐ ๐๐ง๐ ๐ข๐ง๐๐๐ซ๐ข๐ง๐ , ๐๐๐ฌ๐ญ ๐๐ฎ๐ญ๐จ๐ฆ๐๐ญ๐ข๐จ๐ง ๐๐ง๐ ๐๐๐ญ๐ ๐๐๐ข๐๐ง๐๐. I have ๐๐๐๐๐๐๐ ๐๐๐๐ ๐๐๐๐ 10,000+ ๐ฐ๐ป ๐ท๐๐๐๐๐๐๐๐๐๐๐๐ and ๐๐๐๐ ๐๐๐๐๐ ๐๐๐๐ ๐๐๐๐ 500+ ๐๐๐๐๐๐๐๐ ๐๐๐๐๐๐๐๐ in the areas of ๐๐จ๐๐ญ๐ฐ๐๐ซ๐ ๐๐๐ฏ๐๐ฅ๐จ๐ฉ๐ฆ๐๐ง๐ญ, ๐๐๐ญ๐ ๐๐ง๐ ๐ข๐ง๐๐๐ซ๐ข๐ง๐ , ๐๐ฅ๐จ๐ฎ๐, ๐๐๐ญ๐ ๐๐ง๐๐ฅ๐ฒ๐ฌ๐ข๐ฌ, ๐๐๐ญ๐ ๐๐ข๐ฌ๐ฎ๐๐ฅ๐ข๐ณ๐๐ญ๐ข๐จ๐ง๐ฌ, ๐๐ซ๐ญ๐ข๐๐ข๐๐ข๐๐ฅ ๐๐ง๐ญ๐๐ฅ๐ฅ๐ข๐ ๐๐ง๐๐ ๐๐ง๐ ๐๐๐๐ก๐ข๐ง๐ ๐๐๐๐ซ๐ง๐ข๐ง๐ . I am interested in ๐ฐ๐ซ๐ข๐ญ๐ข๐ง๐ ๐๐ฅ๐จ๐ ๐ฌ, ๐ฌ๐ก๐๐ซ๐ข๐ง๐ ๐ญ๐๐๐ก๐ง๐ข๐๐๐ฅ ๐ค๐ง๐จ๐ฐ๐ฅ๐๐๐ ๐, ๐ฌ๐จ๐ฅ๐ฏ๐ข๐ง๐ ๐ญ๐๐๐ก๐ง๐ข๐๐๐ฅ ๐ข๐ฌ๐ฌ๐ฎ๐๐ฌ, ๐ซ๐๐๐๐ข๐ง๐ ๐๐ง๐ ๐ฅ๐๐๐ซ๐ง๐ข๐ง๐ new subjects.
SparkContext and SparkSession are two important components in Apache Spark, but they serve different purposes.
SparkContext
SparkContext (sc) is the entry point for interacting with Spark and represents the connection to a Spark cluster.
It was the main entry point in earlier versions of Spark (1.x and 2.x), and it is still available in Spark 3.x for backward compatibility.
SparkContext provides access to the underlying Spark functionality and allows you to create RDDs (Resilient Distributed Datasets), which are the fundamental data structure in Spark.
However, with the introduction of DataFrame and Dataset APIs, SparkContext is considered a lower-level API and is generally not recommended for use in new applications.
SparkSession
SparkSession is the entry point for working with structured data in Spark and is the recommended entry point for applications starting from Spark 2.x.
It encapsulates SparkContext and provides a higher-level API that supports both structured and unstructured data processing.
SparkSession provides a unified interface for working with different data sources, such as CSV, Parquet, JSON, databases, etc.
It enables the use of DataFrames and Datasets, which are distributed collections of data organized into named columns, providing a more efficient and expressive way to work with structured data.
SparkSession also includes various utility functions for working with data, such as reading, writing, querying, and manipulating data.
In summary, while SparkContext is the entry point for interacting with Spark and creating RDDs, SparkSession is the higher-level entry point for structured data processing, providing a unified API and supporting DataFrames and Datasets. SparkSession is generally the preferred choice for new Spark applications, as it provides more powerful abstractions and simplifies the overall development experience.
If you like my work and want to support meโฆ
I share tips, tricks and insights on #softwareengineering, #dataengineering #cloud #ml on LinkedIn.
Do you want to connect with me, I have started mentoring others for career and interviews at ๐ญ๐จ๐ฉ๐ฆ๐๐ญ๐.๐ข๐จ/๐ง๐๐ฏ๐๐๐ง๐ฉ๐ง



