和 都是 Apache Spark 应用程序的入口点(Entry Points),但它们分别代表了 Spark 发展的两个不同阶段。 简单来说:SparkSession 是 Spark 2.0 之后引入的新的、统一的入口点,它封装了 SparkContext,使得编写 Spark 代码更加简洁和统一。 以下是详细的解释和对比: --- 1. SparkContext (Spark 的心脏) 历史地位: 在 Spark 2.0 之前(Spark 1.x), 是所有 Spark 功能的主要入口点。 主要功能: 连接集群: 它负责连接到集群管理器(如 YARN、Mesos 或 Standalone)。 资源申请: 它告诉集群管理器需要多少 CPU 和内存。 创建 RDD: 它是创建和操作 RDD(弹性分布式数据集)的主要方式。 累加器和广播变量: 用于创建和管理这些共享变量。 痛点(为什么要改变): 在 Spark 1.x 时代,如果你想使用不同的功能,你需要创建不同的 Context 对象: 使用核心功能(RDD) -> 使用 SQL 查询 -> 使用 Hive 功能 -> 使用流处...