核心API:
sparkSession: spark入口
统一封装SparkConf,SparkContext,SQLContext, 配置运行参数,读取文件,创建数据,使用SQL
Dataset:
统一Dataset接口,其中DataFrame==Dataset[Row]
基本实现了类似RDD的所有算子
column: Dataset的列对象
包括对列操作的基本函数
ROW : DataFrame的行对象
包括对行操作的基本函数
Encoder : 序列化
支持常用的数据类型,可以直接序列化,也支持case class自定义数据对象进行序列化
functions: Dataset的内置函数
支持丰富的操作函数(聚合,collection… …)
SQlImplict: 隐式转换
其中scala对象RDD转换成DF/DS ,DF/DS使用Map/FlatMap方法等;
要采用的隐式转换格式的
val spark= SparkSession.()
import spark.implicts._
注意 : Dataset是一个类(RDD是一个抽象类,而Dataset不是抽象类),其中有三个参数:
SparkSession(包含环境信息)
QueryExecution(包含数据和执行逻辑)
Encoder[T]:数据结构编码信息(包含序列化、schema、数据类型)