前言
Spark Core 中,如果想要执行应用程序,需要首先构建上下文环境对象 SparkContext,Spark SQL 其实可以理解为对 Spark
Core 的一种封装,不仅仅在模型上进行了封装,上下文环境对象也进行了封装;
在老的版本中,SparkSQL 提供两种 SQL 查询起始点:一个叫 SQLContext,用于 Spark自己提供的 SQL 查询;一个叫
HiveContext,用于连接 Hive 的查询; SparkSession 是 Spark 最新的 SQL 查询起始点,实质上是 SQLContext
和 HiveContext的组合,所以在 SQLContex 和 HiveContext 上可用的 API 在 SparkSession 上同样是可以使用的。
SparkSession 内部封装了 SparkContext,所以计算实际上是由 sparkContext
完成的。当我们使用spark-shell的时候,spark框架会自动的创建一个名称叫做spark的SparkSession对象,
就像我们以前可以自动获取到一个 sc 来表示 SparkContext 对象一样;
一、DataFrame
Spark SQL