面向关系型数据库的查询和存储
Spark SQL的抽象数据类型是DataFrame,是带有Schema信息的RDD。支持的语言有Java Scala Python
Spark SQL可以对结构化数据、半结构化数据和非结构化数据进行处理
对于关系型数据库存储的结构化数据而言,主要做的是综合性查询分析,如汇总、求和等 count(*),average,sum
Spark SQL的DataFrame打通了关系数据查询和机器学习等复杂分析算法的通道
一. DataFrame
1.Spark是对RDD进行操作,SparkSQL是对DataFrame进行操作,两者的数据抽象截然不同
2.使用SparkSession来创建DataFrame,先构建SparkSession对象
import org.apache.spark.sql.SparkSession
import spark.implicits._ #进行隐式转换的包
val spark=SparkSession.builder().getOrCreate()
在spark shell里可以不用建sparkSession,里边自带的spark就是sparkSession
spark.read.csv()
spark.read.json()
df.show()
df.write.json(全称路径)
df.write.csv()
df.write.parquet()
二 从RDD转换得到DataFrame