为什么我不需要在 Databricks 中创建 SparkSession?

Why I don't need to create a SparkSession in Databricks?

为什么我不需要在 Databricks 中创建 SparkSession?配置集群时是否自动创建了一个SparkSession?还是别人帮我做的?

在 Databricks 环境中,而在 Spark 2.0 中,可以通过 SparkSession 实现相同的效果,而无需显式创建 SparkConf、SparkContext 或 SQLContext,因为它们被封装在 SparkSession 中。使用构建器设计模式,它会实例化一个 SparkSession 对象(如果尚不存在)及其关联的底层 contexts.ref:link

这仅在笔记本中完成,以简化用户的工作并避免他们指定不同的参数,其中许多参数不会有任何效果,因为 Spark 已经启动。此行为类似于启动 spark-shellpyspark 时得到的结果 - 它们都初始化 SparkSessionSparkContext:

Spark context available as 'sc' (master = local[*], app id = local-1635579272032).
SparkSession available as 'spark'.

但是,如果您是 运行 来自 jar 的代码或 Python wheel 作为工作,那么您有责任创建相应的对象。