【大数据学习 | Spark-SQL】SparkSession对象
之前使用的操作对象有三个
- sparkContext主要是为了rdd编程而产生的一个操作对象。
- sqlContext主要是为了sparksql的编程而产生的。
- hiveContext主要是操作hive的对象。
归一化的对象
sparkSession对象融合了sc,sqlSc,hsc三种为一个整体。
package com.hainiu.spark
import org.apache.spark.sql.SparkSession
object TestSession {
def main(args: Array[String]): Unit = {
val session = SparkSession.builder()
.enableHiveSupport() //hive
.master("local[*]").appName("test").getOrCreate()
//session --> sc.sqlsc.hivesc
//sparkContext
val sc = session.sparkContext
session //sqlSc
import session.implicits._
val df = sc.textFile("file:///headless/workspace/spark/data/a.txt")
.map(t => {
val strs = t.split(" ")
(strs(0), strs(1), strs(2), strs(3))
}).toDF("id", "name", "age", "gender")
df.show()
df.createTempView("student")
session.sql("select * from student").show()
session.sql(
"""
|select count(1) from stu
|""".stripMargin)
.show()
}
}
SparkSession转化为sparkContext:
SparkContext <----- SparkSession.sparkContext
SparkSession就是sqlContext,不需要转化。