一、Spark SQL 介绍
Spark SQL是Spark一个重要的模块。提供结构化的数据进行处理。同时可以为Spark任务提供优化。
基于RDD之上的;
提供数据SChema和统一的数据接口
可以优化Spark任务
支持Hive的SQL语句
基本上可以利用RDD的所有优势
Spark DataFrame spark1.3.0提出:分布式数据集合的结构化表示,具有自己模式的Schema
Spark DataSet Spark1.6.0提出:
分布式数据集合的结构化表示,具有自己模式的Schema,并且可以做数据类型验证
Spark2.0之后,又统一为DataSet,DataFrame是DataSet的一个子类
二、Spark DataFrame
定义和特点:Spark DataFrame是Spark分布式的数据集合,是基于RDD之上的具有结构化数据特性的数据表示。
1.可以处理海量的数据
2.支持不同的数据类型和数据源
3.可以进行全局优化
4.多种API语言支持,Python、Scala、Java和R等
DataFrame创建:
现有的RDD、现有的DataFrame或者DataSet
HIve表
Spark Datasource