1、什么是SparkSession
SparkSession是Apache Spark 2.0版本引入的一个编程接口,用于与Spark进行交互。它是Spark应用程序的入口点,提供了一种方便的方式来创建DataFrame、DataSet和SQLContext等数据结构,并且可以配置各种Spark应用程序的选项。SparkSession还管理了Spark应用程序的运行环境,包括Spark集群的连接,以及将数据加载到内存中进行处理等任务。
2、创建SparkSession的几种方法
在Scala中,创建SparkSession有以下几种方法:
先引入SparkSession类
import org.apache.spark.sql.SparkSession
(1) 使用默认配置创建SparkSession:
val spark = SparkSession.builder().appName("SparkDemo").getOrCreate()
appName用于设置名称
(2) 指定Master和AppName创建SparkSession
val spark = SparkSession.builder()
.appName("SparkDemo")
.master("local[*]")
.getOrCreate()
master(“local[*]”) 表示本地运行
(3) 添加自定义配置项创建SparkSession
val spark = SparkSession.builder()
.appName("SparkDemo")
.config("spark.driver.allowMultipleContexts", "true")
.getOrCreate()
(4) 指定Spark集群的连接信息创建SparkSession
val spark = SparkSession.builder()
.appName("SparkDemo")
.config("spark.master", "spark://192.168.1.2:7077")
.getOrCreate()
(5) 操作hive方式
val spark = SparkSession.builder()
.appName("SparkDemo")
.master("local")
.enableHiveSupport()
.getOrCreate()