请说明在 PySpark 编程中,初始化一个基本 SparkSession 的具体步骤和常用参数。
考察说明
考查对 Spark 2.0 起统一入口 SparkSession 的创建方式及基础配置的理解。
回答思路
- 【回答框架 1】在 PySpark 中,SparkSession 是 Spark 2.0 引入的统一入口,替代了旧的 SparkContext、SQLContext 和 HiveContext。创建基本 SparkSession 使用 builder 模式,典型代码为 SparkSession.builder.appName('myApp').getOrCreate()。
- 【回答框架 2】getOrCreate 方法会优先获取已有的 SparkSession,若不存在则创建一个新的,避免在同一个 JVM 中重复创建。对于大多数交互式环境(如 Jupyter),推荐使用 getOrCreate。
- 【回答框架 3】常用配置包括 master(如 local[*])、config('spark.some.config', value) 设置自定义参数,以及 enableHiveSupport() 用于启用 Hive 支持。注意创建后可通过 spark.sparkContext 访问底层 SparkContext。
- 【关键点 1】SparkSession.builder.appName('name').getOrCreate() 是标准创建方式。
- 【关键点 2】getOrCreate 避免重复创建,保障上下文唯一。
- 【关键点 3】master 参数控制运行模式,local[*] 用于本地多线程。
- 【关键点 4】config 方法可设置任意 Spark 配置项。
- 【易错点 1】不要直接使用 SparkContext 或 SQLContext 作为主入口,除非需要底层操作。
- 【易错点 2】不要在同一应用内重复创建 SparkSession,可能导致资源冲突。